useful-java-links
A list of useful Java frameworks, libraries, software and hello worlds examples
https://github.com/Vedenin/useful-java-links
Last synced: 3 days ago
JSON representation
-
I. Development
-
1. Common frameworks and libraries
- 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)
- 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). 
-
2. Web development
- 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). 
- 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). 
- 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). 
- 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.
- 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). 
- Play Framework - 2.0) , [](https://github.com/playframework/playframework). 
- Spark - a Sinatra inspired web framework. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/perwendel/spark). 
- 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). 
- Ninja - 2.0) , [](https://github.com/ninjaframework/ninja). 
- 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). 
- 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). 
- ZK framework - java-links/blob/master/img/business-friendly.png?raw=true)
- 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)
- 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)
-
3. GUI
- 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). 
- Codename One - Open-source cross-platform app development solution for writing native apps for desktop, web & mobile in Java/Kotlin. (GPL + Classpath Exception)
- 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). 
-
4. Business
- 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). 
- Apache Portals - 2, Apache Pluto, and Apache Portals Applications. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
-
5. Game Development
- 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** 
- 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). 
-
6. Useful libraries
- 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). 
- 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). 
- 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). 
- 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). 
- 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) 
- 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) 
- 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). 
- Bouncy Castle - Legion of the Bouncy Castle Java cryptography APIs.A lightweight cryptography API. License: [MIT](https://opensource.org/licenses/MIT). 
- Cryptomator - Free client-side encryption for your cloud files. Open source software: No backdoors, no registration. 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). 
- 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: 
- 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). 
- Square type - based FIFO for Android and Java. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/square/tape). 
- Apache BVal - 2.0). 
- OVal - 2.0). [](https://github.com/sebthom/oval) 
- Trove - Primitive collections. License: [GNU Lesser 2.1](https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License). 
- 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).
-
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). 
-
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). 
-
9. Distributed Applications
- Hazelcast - The Leading Open Source In-Memory Data Grid: Distributed Computing, Simplified. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- 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). 
- 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). 
-
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) 
-
-
III. Network and Integration
-
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). 
-
4. Http and ssh
- Square Okhttp - 2.0) , [](https://github.com/square/okhttp). 
-
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). 
-
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). 
-
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). 
-
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). 
-
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). 
-
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). 
-
17. Geospatial Service Interation
- 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). 
- H2GIS - A spatial extension of the H2 database. License: [GPL 3](http://www.gnu.org/copyleft/gpl.html). 
- JTS Topology Suite - An API of 2D spatial predicates and functions. License: [GNU Lesser 3](http://www.gnu.org/copyleft/lesser.html). 
-
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).
-
-
II. Databases, search engines, big data and machine learning
-
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). 
-
2. Data structures
- 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). 
- 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). 
- Persistent Collection - PCollections serves as a persistent and immutable analogue of the Java Collections Framework. License: [MIT](https://opensource.org/licenses/MIT). 
-
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). 
-
7. Big data
- 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 Hama - purpose BSP computing engine. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache Falcon - 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). 
- 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). 
- Giraph - java-links/blob/master/link-rus/img/good-proprietary.png?raw=true)
- Apache Ambari - to-use Hadoop management web UI backed by its RESTful APIs. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache Chukwa - 2.0). 
- Apache Bigtop - 2.0). 
- Apache BookKeeper - 2.0). 
- Apache Crunch - 2.0). 
- Apache MRUnit - 2.0). 
- Apache MetaModel - 2.0). 
-
8. Machine Learning
- 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). 
- 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). 
- 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). 
- 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). 
- 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). 
- 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). 
- Apache Marmotta - 2.0). 
- 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). 
-
-
IV. Testing
-
1. Testing
- 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). 
- Unitils - Modular testing library for unit and integration testing. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- 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). 
- 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). 
- 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
- Bamboo - Atlassian's solution with good integration of their other products. You can either apply for an open-source license or buy it. 
- CircleCI - Hosted service with a free trial. 
- 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
- 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)
- 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). 
-
-
V. Tools for developing
-
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). 
- 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). 
- Apache Yetus - 2.0). 
-
3. Perfomance tools
- Square Leakcanary - 2.0) , [](https://github.com/square/leakcanary). 
- 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**
- JProfiler - 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). 
-
4. Code Analysis
-
5. Monitoring
- SPM - Commercial performance monitor with distributing transaction tracing for JVM apps. **License: proprietary**
- Kamon - Tool for monitoring applications running on the JVM. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Glowroot - Open source Java APM. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- 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)
- 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)
- JRebel - Reload code changes instantly. Skip the build and redeploy process. JRebel reloads changes to Java classes, resources, and over 90 frameworks. *License: proprietary*
-
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). 
-
-
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). 
-
-
VII. Other
-
1. Source code examples
- Java Micro code pieces - community library of micro Java code solutions for popular issues.
-
-
VIII. Resources
-
1. Communities
- r/java - Subreddit for the Java community.
- DevProjects - Community to discuss Java projects and share solutions.
-
2. Influential Books
-
3. Websites
-
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