useful-java-links
A list of useful Java frameworks, libraries, software and hello worlds examples
https://github.com/Vedenin/useful-java-links
Last synced: 5 days ago
JSON representation
-
II. Databases, search engines, big data and machine learning
-
8. Machine Learning
- Twitter Text Libraries - This repo is a collection of libraries and conformance tests to standardize parsing of tweet text. It synchronizes development, testing, creating issues, and pull requests for twitter-text's implementations and specification. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache OpenNLP - The Apache OpenNLP library is a machine learning based toolkit for the processing of natural language text. [Hello World examples](https://github.com/Vedenin/useful-java-links/tree/master/helloworlds/2.8-natural-language-processing/opennlp). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Mallet - MALLET is a Java-based package for statistical natural language processing, document classification, clustering, topic modeling, information extraction, and other machine learning applications to text. License: [Eclipse Public License v1.0](https://en.wikipedia.org/wiki/Eclipse_Public_License). 
- Meka - An open source implementation of methods for multi-label classification and evaluation (extension to Weka). License: [GNU](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
- Neuroph - Neuroph is lightweight Java neural network framework. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache Marmotta - 2.0). 
- DeepDive - DeepDive is a system to extract value from dark data. Like dark matter, dark data is the great mass of data buried in text, tables, figures, and images, which lacks structure and so is essentially unprocessable by existing software. License: [Creative Commons Attribution 4.0](http://creativecommons.org/licenses/by/4.0/). 
- JAVA-ML - Java Machine Learning Library (Java-ML). License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
- JSAT - Numerous Machine Learning algorithms for classification, regression, and clustering. License: [GNU 3](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
- wAlnut - Object oriented model of partial human brain with 1 theorized common learning algorithm. Work in progress towards a strong emotional AI. License: [GNU 3](https://en.wikipedia.org/wiki/GNU_General_Public_License) 
- Sat4J - Sat4j is a java library for solving boolean satisfaction and optimization problems. It can solve SAT, MAXSAT, Pseudo-Boolean, Minimally Unsatisfiable Subset (MUS) problems. License: [GNU Lesser 3](https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License) and [Eclipse Public 1.0](https://www.eclipse.org/legal/epl-v10.html). 
- Joshua - source statistical machine translation decoder for phrase-based (new in 6.0), hierarchical, and syntax-based machine translation, written in Java. It is developed at the Human Language Technology Center of Excellence at Johns Hopkins University. License: [BSD 2](https://github.com/joshua-decoder/joshua/blob/master/LICENSE). 
- Z-MERT - MERT is a software tool for minimum error rate training of machine translation systems. License: [GNU Lesser General Public License (LGPL)](http://www.gnu.org/licenses/lgpl-3.0.en.html). 
- The Stanford Natural Language Processing Group - A Natural Language Processing Java software tools. Subproject: [Stanford Parser](http://nlp.stanford.edu/software/lex-parser.html) - A statistical parser, [Stanford POS Tagger](http://nlp.stanford.edu/software/tagger.html), [Stanford Named Entity Recognizer](http://nlp.stanford.edu/software/CRF-NER.html), [RegexNER](http://nlp.stanford.edu/software/regexner.html),
- Word Segmenter - based Information Extraction and Diagnostics](http://nlp.stanford.edu/software/patternslearning.html),[Stanford Relation Extractor](http://nlp.stanford.edu/software/relationExtractor.html). License: [GNU 2/3](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
- Weka - Weka is a collection of machine learning algorithms for data mining tasks. The algorithms can either be applied directly to a dataset or called from your own Java code. Weka contains tools for data pre-processing, classification, regression, clustering, association rules, and visualization. It is also well-suited for developing new machine learning schemes. License: [GNU](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
-
2. Data structures
- Apache Thrift - The Apache Thrift software framework, for scalable cross-language services development, combines a software stack with a code generation engine to build services that work efficiently and seamlessly between C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, OCaml and Delphi and other languages. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache Avro - Apache Avro is a data serialization system. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache Orc - The smallest, fastest columnar storage for Hadoop workloads. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Persistent Collection - PCollections serves as a persistent and immutable analogue of the Java Collections Framework. License: [MIT](https://opensource.org/licenses/MIT). 
-
7. Big data
- Apache Crunch - 2.0). 
- Apache Gora - memory data model and persistence for big data. Gora supports persisting to column stores, key value stores, document stores and RDBMSs, and analyzing the data with extensive Apache Hadoop MapReduce support. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache Hama - purpose BSP computing engine. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache REEF - out computing fabric that eases the development of Big Data applications on top of resource managers such as Apache YARN and Mesos. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache Accumulo - based access control and a server-side programming mechanism that can modify key/value pairs at various points in the data management process. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Giraph - java-links/blob/master/link-rus/img/good-proprietary.png?raw=true)
- Apache Chukwa - 2.0). 
- Apache Falcon - 2.0). 
- Apache Ambari - to-use Hadoop management web UI backed by its RESTful APIs. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Cloudera Oryx - time large-scale machine learning / predictive analytics infrastructure. It implements a few classes of algorithm commonly used in business applications: collaborative filtering / recommendation, classification / regression, and clustering. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/cloudera/oryx). 
- Apache Bigtop - 2.0). 
- Apache BookKeeper - 2.0). 
- Apache MRUnit - 2.0). 
- Apache MetaModel - 2.0). 
-
1. Databases and storages
- H2 - Welcome to H2, the Java SQL database. The main features of H2 are: Very fast, open source, JDBC API, Embedded and server modes; in-memory databases, Browser based Console application,Small footprint: around 1.5 MB jar file size License: [Mozilla Public License 1.1.](https://en.wikipedia.org/wiki/Mozilla_Public_License) and [Eclipse Public License v1.0](https://en.wikipedia.org/wiki/Eclipse_Public_License). 
- Apache Derby - Apache Derby, an Apache DB subproject, is an open source relational database implemented entirely in Java. Derby provides an embedded JDBC driver that lets you embed Derby in any Java-based solution. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache Empire-db - db is a lightweight relational database abstraction layer and data persistence component. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
-
3. Search engines
- Lemur Project - java-links/blob/master/img/business-friendly.png?raw=true)
-
5. ORM
- Vibur DBCP - Concurrent, fast, and fully-featured JDBC connection pool, which provides a non-starvation guarantee for application threads, statement caching, slow SQL queries detection and logging, and Hibernate integration, among other features. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- OrmLite - Object Relational Mapping Lite (ORM Lite) provides some simple, lightweight functionality for persisting Java objects to SQL databases while avoiding the complexity and overhead of more standard ORM packages. License: [ISC](https://en.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_ISC). 
- Apache OpenJPA - 2.0). 
-
6. Working with messy data
- Apache UIMA - 2.0). 
-
-
III. Network and Integration
-
8. Json
- Gson - Serializes objects to JSON and vice versa. Good performance with on-the-fly usage, [](https://github.com/google/gson). [User guide](https://github.com/google/gson/blob/master/UserGuide.md) and [Hello World examples](https://github.com/Vedenin/useful-java-links/tree/master/helloworlds/3.8-json/gson)
- Square Moshi - java-links/tree/master/helloworlds/3.8-json/moshi). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) 
- Jackson - Similar to GSON but has performance gains if you need to instantiate the library more often. Subprojects: [Jackson core](https://github.com/FasterXML/jackson-core) Core part of Jackson, [Jackson databind](https://github.com/FasterXML/jackson-databind) Core part of Jackson that defines Streaming API as well as basic shared abstractions, [](https://github.com/FasterXML/jackson-core). [User guide](https://github.com/FasterXML/jackson-docs) and [Hello World examples](https://github.com/Vedenin/useful-java-links/tree/master/helloworlds/3.8-json/jackson). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
-
4. Http and ssh
- Square Okhttp - 2.0) , [](https://github.com/square/okhttp). 
-
13. Cluster Management
- Singularity - Singularity is a Mesos framework that makes deployment and operations easy. It supports web services, background workers, scheduled jobs, and one-off tasks. License: **?**.
- Apache Helix - 2.0). 
- Apache Airavata - based science gateways and assist to compose, manage, execute, and monitor large scale applications (wrapped as Web based services) and workflows composed of these services. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
-
17. Geospatial Service Interation
- H2GIS - A spatial extension of the H2 database. License: [GPL 3](http://www.gnu.org/copyleft/gpl.html). 
- Geotoolkit.org - Library for developing geospatial applications. Built on top of the Apache SIS project. License: [GNU Lesser 2.1](http://www.geotoolkit.org/license.html). 
- JTS Topology Suite - An API of 2D spatial predicates and functions. License: [GNU Lesser 3](http://www.gnu.org/copyleft/lesser.html). 
-
5. Rest Frameworks
- Spark - Sinatra inspired framework. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache Wink - RS specification. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache Olingo - 2.0). 
-
16. XML and SOAP
- Santuario - 2.0). 
- Xalan - J is an XSLT processor written in Java. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Xerces - J is a validating XML parser written in Java. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- XML Graphics - 2.0). 
- VXQuery - 2.0). 
- Apache Axis - 2.0). 
-
1. Servers (Web Server and Application Server)
- WebSphere Liberty - Lightweight, modular server developed by IBM. ***License: proprietary*** 
- Apache Geronimo - 2.0). 
- Apache James - 2.0). 
- WebSphere Liberty - Lightweight, modular server developed by IBM. ***License: proprietary*** 
- GlassFish - GlassFish - World's first Java EE 7 Application Server. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License) Or [CDDL 1.0](http://opensource.org/licenses/CDDL-1.0).
-
3. Message, message broker and message queue
- JBoss HornetQ - Clear, concise, modular and made to be embedded, License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache Synapse - 2.0). 
-
6. Integration frameworks
- Apache CXF - WS and JAX-RS. These services can speak a variety of protocols such as SOAP, XML/HTTP, RESTful HTTP, or CORBA and work over a variety of transports such as HTTP, JMS or JBI. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
-
10. Integratin with API
- Alibaba RocketMQ - 2.0) , [](https://github.com/alibaba/RocketMQ). 
-
12. Clouds
- Apache CloudStack - 2.0). 
- Apache Stratos - extensible Platform-as-a-Service (PaaS) framework that helps run Apache Tomcat, PHP, and MySQL applications and can be extended to support many more environments on all major cloud infrastructures. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
-
14. Document Processing (XLS, DOC and PDF)
- jOpenDocument - Processes the OpenDocument format. License: [GNU](https://en.wikipedia.org/wiki/GNU_General_Public_License) or proprietary.  and 
- DynamicReports - Simplifies JasperReports. License: [GNU Lesser 3](https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License). 
- iText - Creates PDF files programmatically but current versions require a license for commercial purposes. License: [AGPL](https://en.wikipedia.org/wiki/Affero_General_Public_License) or proprietary.  or . However, versions upto 4.2.0 were licensed under the business-friendly LGPL. From 2.1.7 the version jumped to the 4 series, one of the main changes was a renaming of the packages. These two versions are available in several repositories on github, see for example: [iText 4.2.0](https://github.com/ymasory/iText-4.2.0) and [iText 2.1.7](https://github.com/hwinkler/itext2). The jars can be downloaded from [Maven Central.](https://mvnrepository.com/artifact/com.lowagie/itext/2.1.7). iText 2.1.7 and iText 4.2.0 are available under a . The book iText in Action 2nd Edition, from Manning, was written around the time of these LGPL versions. If you are making any contributions to iText please make them to these LGPL repositories on GitHub.
- JasperReports - Complex reporting engine. License: [GNU Lesser](https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License). 
-
2. Networking
- Grizzly - NIO framework. Used as a network layer in Glassfish. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License) and [CDDL 1.1](https://en.wikipedia.org/wiki/CDDL).
-
-
V. Tools for developing
-
3. Perfomance tools
- Square Leakcanary - 2.0) , [](https://github.com/square/leakcanary). 
- JProfiler - Commercial profiler. **License: proprietary**
- VisualVM - Visual interface for detailed information about running applications. License: [GNU 2 with the Classpath Exception](https://en.wikipedia.org/wiki/GNU_General_Public_License).
- YourKit Java Profiler - Commercial profiler. **License: proprietary**
- XRebel - A commercial profiler for Java Web applications. **License: proprietary**
- JMH - Microbenchmarking tool for the JVM. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
-
5. Monitoring
- DCEVM - This project is a fork of original DCEVM project. The purpose of the project is to maintain enhanced class redefinition functionality for OpenJDK HotSpot 7/8 and Oracle JVM. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License)
- Glowroot - Open source Java APM. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Kamon - Tool for monitoring applications running on the JVM. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- SPM - Commercial performance monitor with distributing transaction tracing for JVM apps. **License: proprietary**
- Dynamic Code Evolution Virtual Machine (DCE VM) - The Dynamic Code Evolution Virtual Machine (DCE VM) is a modification of the Java HotSpot(TM) VM that allows unlimited redefinition of loaded classes at runtime. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License)
- JRebel - Reload code changes instantly. Skip the build and redeploy process. JRebel reloads changes to Java classes, resources, and over 90 frameworks. *License: proprietary*
-
2. Deploy, config and build
- Archiva Apache - wide build artifact repository. It is the perfect companion for build tools such as Maven, Continuum, and ANT. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache Yetus - 2.0). 
- Bintray - Version control for binaries which handles the publishing. Can also be used with Maven or Gradle and has a free plan for open-source software or several business plans. **License: proprietary** 
- Launch4j - Wraps JARs in lightweight and native Windows executables. License: [BSD 3](https://en.wikipedia.org/wiki/BSD_licenses) or [MIT](https://opensource.org/licenses/MIT). 
-
4. Code Analysis
-
8. Other
- Chocotea: - 2.0) , [](https://github.com/cleopatra27/chocotea).
- JDK 9 - Early access releases of JDK 9. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
- OpenJDK - Open-source implementation for Linux. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
-
-
I. Development
-
6. Useful libraries
- Square type - based FIFO for Android and Java. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/square/tape). 
- ReactiveX RxJava - based programs using observable sequences for the Java VM. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/ReactiveX/RxJava), stackoverflow - [1814 questions](http://stackoverflow.com/search?q=RxJava). 
- Immutables - Java annotation processors to generate simple, safe and consistent value objects. Do not repeat yourself, try Immutables, the most comprehensive tool in this field. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Cryptomator - Free client-side encryption for your cloud files. Open source software: No backdoors, no registration. License: [MIT](https://opensource.org/licenses/MIT). 
- Apache DeltaSpike - DeltaSpike consists of a number of portable CDI extensions that provide useful features for Java application developers. We will also ensure true portability! We are testing DeltaSpike on different CDI implementations like Apache OpenWebBeans and JBoss Weld, and also on different Java EE servers like Apache Tomcat and TomEE, JBoss AS7, WildFly 8.x and 9.x, Oracle GlassFish 3.1+ and 4.x+, IBM WebSphere 8.x, Oracle WebLogic Server 12c, Jetty, and others. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) 
- JObfuscator - JObfuscator is a source code obfuscator for the Java language to protect Java source code & algorithms from hacking, cracking, reverse engineering, decompilation & technology theft. License: 
- Bouncy Castle - Legion of the Bouncy Castle Java cryptography APIs.A lightweight cryptography API. License: [MIT](https://opensource.org/licenses/MIT). 
- Eclipse Collections - compatible List, Set and Map implementations with a rich API, additional types not found in the JDK like Bags, Multimaps and set of utility classes that work with any JDK compatible Collections, Arrays, Maps or Strings. The iteration protocol was inspired by the Smalltalk collection framework.Eclipse Collections started off as an open source project on GitHub called GS Collections. GS Collections has been presented at the JVM Language Summit in 2012 and JavaOne in 2014. [Hello World examples](https://github.com/Vedenin/useful-java-links/tree/master/helloworlds/1.6-usefull-libraries/collections/gs-eclipse). License: [Eclipse Public 1.0](https://www.eclipse.org/legal/epl-v10.html). 
- javatuples - javatuples is one of the simplest java libraries ever made. Its aim is to provide a set of java classes that allow you to work with tuples.A tuple is just a sequence of objects that do not necessarily relate to each other in any way. For example: [23, "Saturn", java.sql.Connection@li734s] can be considered a tuple of three elements (a triplet) containing an Integer, a String, and a JDBC Connection object. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- HPPC - HPPC provides template-generated implementations of typical collections, such as lists, sets and maps, for all Java primitive types. The primary driving force behind HPPC is optimization for highest performance and memory efficiency. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Trove - Primitive collections. License: [GNU Lesser 2.1](https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License). 
- Almanac Converter - An easy-to-use Java-based calendar converter - able to convert between various known calendars. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- args4j - args4j is a small Java class library that makes it easy to parse command line options/arguments in your CUI application. License: [MIT](https://opensource.org/licenses/MIT) 
- PicketLink - Simplified Security and Identity management for Java Applications PicketLink is an umbrella project for security and identity management for Java Applications. It is licensed under a friendly Apache v2 license. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache Oltu - 2.0). 
- Apache Syncope - 2.0). 
- Javolution - ibrary for real-time and embedded systems. License: [BSD 2](https://en.wikipedia.org/wiki/BSD_licenses#2-clause_license_.28.22Simplified_BSD_License.22_or_.22FreeBSD_License.22.29). 
- Apache BVal - 2.0). 
- OVal - 2.0). [](https://github.com/sebthom/oval) 
- HK2 - A light-weight and dynamic dependency injection framework. [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License)/ [CDDL 1.0](http://opensource.org/licenses/CDDL-1.0).
-
1. Common frameworks and libraries
- Google Guava - based projects: collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and so forth.Requires JDK 1.6 or higher (as of 12.0). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/google/guava). 
- Apache Commons - Apache Commons is an Apache project focused on all aspects of reusable Java components.Commons Proper is dedicated to one principal goal: creating and maintaining reusable Java components. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Rootbeer GPU Compiler - java-links/blob/master/img/business-friendly.png?raw=true)
- Apache Isis - driven apps in Java. Write your business logic in entities, domain services and repositories, and the framework dynamically (at runtime) generates a representation of that domain model as a webapp or as a RESTful API. For prototyping or production. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache Zest - 2.0). 
- Spring framework - based enterprise applications -- on any kind of deployment platform. A key element of Spring is infrastructural support at the application level: Spring focuses on the "plumbing" of enterprise applications so that teams can focus on application-level business logic, without unnecessary ties to specific deployment environments. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/spring-projects/spring-framework), stackoverflow - more [100 000 questions](http://stackoverflow.com/questions/tagged/spring). 
- Spring Boot - powered, production-grade applications and services with absolute minimum fuss. It takes an opinionated view of the Spring platform so that new and existing users can quickly get to the bits they need. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/spring-projects/spring-boot). 
- Puniverse Quasar - java-links/tree/master/helloworlds/1.1-common-frameworks-and-lib/quasar). License: Eclipse Public v1.0/[GNU Lesser 3](https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License), [](https://github.com/puniverse/quasar). 
- Oblac Jodd - source Java micro frameworks and tools; floppy size! Jodd = tools + ioc + mvc + db + aop + tx + json + html < 1.5 Mb. License: [BSD 2](https://en.wikipedia.org/wiki/BSD_licenses#2-clause_license_.28.22Simplified_BSD_License.22_or_.22FreeBSD_License.22.29), [](https://github.com/oblac/jodd). 
- Google Jimfs - memory file system for Java 7+. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/google/jimfs). 
- Spring batch - 2.0) , [](https://github.com/spring-projects/spring-batch). 
- Microserver - monolith and pure microservices styles. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/aol/micro-server). 
- Greenrobot common - common). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/greenrobot/essentials). 
- Kilim - java-links/blob/master/img/business-friendly.png?raw=true)
-
7. Imagery and Video
- zxing - source, multi-format 1D/2D barcode image processing library implemented in Java, with ports to other languages. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/zxing/zxing). 
-
9. Distributed Applications
- JGroups - JGroups is a toolkit for reliable messaging. It can be used to create clusters whose nodes can send messages to each other. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Hazelcast - The Leading Open Source In-Memory Data Grid: Distributed Computing, Simplified. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Quasar - Quasar is an open source JVM library that greatly simplifies the creation of highly concurrent software that is very easy to write and reason about, performant, and fault tolerant. License: [Eclipse Public License v1.0](https://en.wikipedia.org/wiki/Eclipse_Public_License) or [LGPL 3.0](https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License). 
- JADE - JADE (Java Agent DEvelopment Framework) is a software Framework fully implemented in the Java language. It simplifies the implementation of multi-agent systems through a middle-ware that complies with the FIPA specifications and through a set of graphical tools that support the debugging and deployment phases. License: [GNU Lesser 2.0](https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License). 
- Apache River - compilani JINI service. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache Tuscany - 2.0). 
-
3. GUI
- Codename One - Open-source cross-platform app development solution for writing native apps for desktop, web & mobile in Java/Kotlin. (GPL + Classpath Exception)
- Scene Builder - JavaFX Scene Builder is a visual layout tool that lets users quickly design JavaFX application user interfaces, without coding. Users can drag and drop UI components to a work area, modify their properties, apply style sheets, and the FXML code for the layout that they are creating is automatically generated in the background. The result is an FXML file that can then be combined with a Java project by binding the UI to the application’s logic. License: [Oracle, proprietary](http://www.oracle.com/technetwork/java/javase/terms/license/index.html). , but see Gluon Scene Builder.
- Gluon Scene Builder - Scene Builder is free and open source JavaFX Scene Builder, but is backed by Gluon. Commercial support offerings are available, including training and custom consultancy services. License: [BSD](https://www.google.pl/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&cad=rja&uact=8&ved=0ahUKEwjE5vqD-Y3MAhVH2ywKHe5BBXgQFggkMAI&url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FBSD_licenses&usg=AFQjCNEADwPS776rXl5O9ofavy4xaW2yYw&sig2=FypX35BAWf3icOci5pQd3w&bvm=bv.119408272,d.bGg). 
- Lanterna - Lanterna is a Java library allowing you to write easy semi-graphical user interfaces in a text-only environment, very similar to the C library curses but with more functionality. License: [LGPL 2.1](https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License). 
- JavaFX - JavaFX is the next step in the evolution of Java as a rich client platform. It is designed to provide a lightweight, hardware-accelerated Java UI platform for enterprise business applications. License: [Oracle, proprietary](http://www.oracle.com/technetwork/java/javase/terms/license/index.html). 
-
2. Web development
- Jersey - Jersey RESTful Web Services framework is open source, production quality, framework for developing RESTful Web Services in Java that provides support for JAX-RS APIs and serves as a JAX-RS (JSR 311 & JSR 339) Reference Implementation.
- Pippo - It's an open source micro web framework in Java, with minimal dependencies and a quick learning curve.The goal of this project is to create a micro web framework in Java that should be easy to use and hack. Pippo can be used in small and medium applications and also in applications based on micro services architecture. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Google Web Toolkit - GWT is used by many products at Google, including Google AdWords and Google Wallet. It's open source, completely free, and used by thousands of enthusiastic developers around the world. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Spring MVC - Spring MVC web application and RESTful web service framework. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache Cocoon - based. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache Struts - source framework for creating Java web applications. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache Sling - 2.0). 
- Apache MyFaces - 2.0). 
- Apache Pivot - source platform for building installable Internet applications (IIAs) [rich Internet application]. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache Turbine - 2.0). 
- B3log Solo - A blogging system written in Java, feel free to create your or your team own blog. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/b3log/solo). 
- Apache Forrest - 2.0). 
- Apache Velocity - Velocity is a project of the Apache Software Foundation, charged with the creation and maintenance of open-source software related to the Apache Velocity Engine (templating engine). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache Tiles - 2.0). 
- Apache Stanbol - 2.0). 
- Apache JSPWiki - rich and extensible WikiWiki engine built around the standard J2EE components (Java, servlets, JSP). icense: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache Roller - featured, multi-user and group blog server suitable for blog sites large and small. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache Chemistry - 2.0). 
- Jease - & database-driven web-applications with Java. License: [GPL v3](https://www.gnu.org/licenses/gpl-3.0). 
- JavaServer Pages - This project provides a container independent implementation of JSP 2.1. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License) or [CDDL 1.0](http://opensource.org/licenses/CDDL-1.0)
- JavaServer Faces - JavaServer™ Faces technology simplifies building user interfaces for JavaServer applications. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License) or [CDDL 1.0](https://opensource.org/licenses/CDDL-1.0)
- Ninja - 2.0) , [](https://github.com/ninjaframework/ninja). 
- Spark - a Sinatra inspired web framework. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/perwendel/spark). 
- Play Framework - 2.0) , [](https://github.com/playframework/playframework). 
- Ratpack - driven networking engine. The API is optimized for Groovy and Java 8.. https://ratpack.io/ License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/ratpack/ratpack). 
- Vaadin - 2.0) , [](https://github.com/vaadin/vaadin). 
- Atmosphere - Realtime Client Server Framework for the JVM, supporting WebSockets with Cross-Browser Fallbacks. License: CDDL1 / [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/Atmosphere/atmosphere). 
- Electronicarts Orbit - Virtual actor framework for building distributed systems. License: [BSD 3](https://en.wikipedia.org/wiki/BSD_licenses#3-clause_license_.28.22Revised_BSD_License.22.2C_.22New_BSD_License.22.2C_or_.22Modified_BSD_License.22.29), [](https://github.com/electronicarts/orbit). 
- ZK framework - java-links/blob/master/img/business-friendly.png?raw=true)
-
4. Business
- Apache Portals - 2, Apache Pluto, and Apache Portals Applications. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache OFBiz - 2.0). 
- Apache ODE - BPEL implementation that supports web services orchestration using flexible process definitions. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
-
5. Game Development
- Ardor3D - JogAmp’s Ardor3D Continuation is a general-purpose, professionally oriented, open source, scenegraph based 3D Java engine for desktop and embedded environments, using JOGL for its hardware graphics acceleration. Fork of jMonkeyEngine 2.0. Cross-platform. License: [zlib](https://en.wikipedia.org/wiki/Zlib_License). 
- DimensioneX Multiplayer Engine - Produces browser games with pseudo-3D views. Games can be turned into Facebook Apps. Intended for beginners. 2.5D. Cross-platform. Notable games: Underworld Online. License: [GPL](https://en.wikipedia.org/wiki/GNU_General_Public_License) 
- Env3D - 3D game engine that creates an interface for dynamically adding EnvObjects. Built on jMonkeyEngine 2.0. Cross-platform License: [GPL](https://en.wikipedia.org/wiki/GNU_General_Public_License) 
- Jake2 - platform License: [GPL](https://en.wikipedia.org/wiki/GNU_General_Public_License) 
- Jogre - JOGRE (Java Online Gaming Real-time Engine) which is an open-source, online, real-time gaming engine and API programmed entirely in Java. License: [GPL](https://en.wikipedia.org/wiki/GNU_General_Public_License) 
- Elflight Engine - Targeted for web based games. **License: Proprietary** 
-
8. Code generation and changing byte code
- Javassist - Javassist (Java Programming Assistant) makes Java bytecode manipulation simple. It is a class library for editing bytecodes in Java; it enables Java programs to define a new class at runtime and to modify a class file when the JVM loads it. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) or [LGPL or later 2.1](http://www.gnu.org/licenses/old-licenses/lgpl-2.1.ru.html) or [Mozilla Public License 1.1.](https://en.wikipedia.org/wiki/Mozilla_Public_License). 
-
10. Science
- JScience - Provides a set of classes to work with scientific measurements and units. License: [BSD 2](https://en.wikipedia.org/wiki/BSD_licenses). 
-
11. OSGI
- ACE - 2.0). 
- Aries - 2.0). 
- Felix - 2.0). 
- Equinox - v10.php) 
- Eclipse Virgo - powered applications. License: [EPL](https://www.eclipse.org/org/documents/epl-v10.php) 
-
-
VI. Program languages and applications that were written with Java
-
4. Frameworks that help to create parsers, interpreters or compilers
- JavaCC - More specific and slightly easier to learn. Has syntactic lookahead. License: [BSD ](https://en.wikipedia.org/wiki/BSD_licenses). 
-
-
IV. Testing
-
1. Testing
- Arquillian - Integration and functional testing platform for Java EE containers. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Citrus - Integration testing framework with focus on client- and serverside messaging. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- GreenMail - In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. License: [MIT](https://opensource.org/licenses/MIT). 
- GreenMail - In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- Selenide - Concise API around Selenium to write stable and readable UI tests. License: [MIT](https://opensource.org/licenses/MIT). 
- Unitils - Modular testing library for unit and integration testing. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- cdp4j - Web-automation library for Java. It can be used for automating the use of web pages and for testing web pages. [](https://github.com/webfolderio/cdp4j) License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
-
3. Continuous Integration
- CircleCI - Hosted service with a free trial. 
- Bamboo - Atlassian's solution with good integration of their other products. You can either apply for an open-source license or buy it. 
- fabric8 - Integration platform for containers. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache Continuum - ready continuous integration server with features such as automated builds, release management, role-based security, and integration with popular build tools and source control management systems.. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
-
2. Code Coverage
- JCov - Code coverage tool used in the OpenJDK project's development toolchain. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
- JCov - Code coverage tool used in the OpenJDK project's development toolchain. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
-
4. Formal Verification
- Daikon - Daikon detects likely program invariants and can generate JML specs based on those invariats. License: [GNU](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
- Java Modeling Language (JML) - Behavioral interface specification language that can be used to specify the behavior of code modules. It combines the design by contract approach of Eiffel and the model-based specification approach of the Larch family of interface specification languages, with some elements of the refinement calculus. Used by several other verification tools. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
- Java Path Finder (JPF) - JVM formal verification tool containing a model checker and more. Created by NASA. License: [NASA OPEN SOURCE AGREEMENT VERSION 1.3](http://javapathfinder.sourceforge.net/NOSA-1.3-JPF.txt)
-
-
VIII. Resources
-
3. Websites
-
1. Communities
- r/java - Subreddit for the Java community.
- DevProjects - Community to discuss Java projects and share solutions.
-
2. Influential Books
-
-
VII. Other
-
1. Source code examples
- Java Micro code pieces - community library of micro Java code solutions for popular issues.
-
Programming Languages
Categories
Sub Categories
1. Testing
31
2. Web development
29
6. Useful libraries
20
8. Machine Learning
16
1. Common frameworks and libraries
14
7. Big data
14
3. Websites
12
16. XML and SOAP
6
9. Distributed Applications
6
3. Perfomance tools
6
5. Monitoring
6
5. Game Development
6
1. Servers (Web Server and Application Server)
5
3. GUI
5
11. OSGI
5
14. Document Processing (XLS, DOC and PDF)
4
3. Continuous Integration
4
2. Data structures
4
2. Deploy, config and build
4
5. Rest Frameworks
3
17. Geospatial Service Interation
3
8. Other
3
5. ORM
3
4. Business
3
4. Formal Verification
3
13. Cluster Management
3
8. Json
3
1. Databases and storages
3
1. Communities
2
4. Code Analysis
2
2. Influential Books
2
3. Message, message broker and message queue
2
12. Clouds
2
2. Code Coverage
2
2. Networking
1
10. Science
1
10. Integratin with API
1
7. Imagery and Video
1
6. Working with messy data
1
4. Frameworks that help to create parsers, interpreters or compilers
1
4. Http and ssh
1
8. Code generation and changing byte code
1
3. Search engines
1
6. Integration frameworks
1
1. Source code examples
1
Keywords
java
13
spring
4
framework
3
android
3
spring-boot
3
kotlin
2
microservices
2
restful
2
jvm
2
spring-framework
1
actors
1
concurrency
1
fibers
1
rxjava
1
reactive-streams
1
flow
1
zxing
1
upc
1
qr-code
1
datamatrix
1
barcode-scanner
1
emoji
1
nodejs
1
objective-c
1
ruby
1
tweet
1
twitter
1
twitter-text
1
unicode
1
graalvm
1
kotlin-android
1
leak-canary
1
leak-trace
1
leakcanary
1
memory-leak
1
outofmemory
1
outofmemoryerror
1
guava
1
barcode
1
reactive
1
scala
1
web-framework
1
webapps
1
collection
1
vaadin
1
web-components
1
webcomponents
1
batch
1
batch-processing
1
jersey
1