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
-
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). 
- JGraphT - JGraphT is a free Java class library that provides mathematical graph-theory objects and algorithms. It runs on Java 2 Platform (requires JDK 1.7 or later). License: [Eclipse Public License](https://en.wikipedia.org/wiki/Eclipse_Public_License) or [LGPL 2.1](https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License). 
- 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) 
- Eclipse Virgo - powered applications. License: [EPL](https://www.eclipse.org/org/documents/epl-v10.php) 
-
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). 
- 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)
- Embedchain-JS
-
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). 
- 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)
- 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)
- 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). 
- VRaptor - 2.0). 
- Jooby - project/jooby.svg?style=social&label=Star&maxAge=2592000)](https://github.com/cjooby-project/jooby). http://jooby.org/ . License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- CUBA Platform - High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. https://cuba-platform.com [](https://github.com/cuba-platform/cuba). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Tobie ua-parser - language port of Browserscope's user agent parser. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0)/[MIT](https://opensource.org/licenses/MIT)/Perl, [](https://github.com/tobie/ua-parser). 
- Ghost Driver - end. 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/detro/ghostdriver). 
- Nasher - A Spring Project with spring security support with angular admin panel. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/ghaseminya/nasher-mvc-spring-security-blog-angular). 
- Baasbox
- Kolorobot Spring MVC 4 Quickstart Maven Archetype - mvc-quickstart-archetype.svg?style=social&label=Star&maxAge=2592000)](https://github.com/kolorobot/spring-mvc-quickstart-archetype).
- Gargl - Record web requests as they happen and turn them into reusable code in any programming language. Gargl - Generic API Recorder and Generator Lite. Pronounced "Gargle." Automate any website. Record web requests as they happen and turn them into reusable code in any programming language. License: [MIT](https://opensource.org/licenses/MIT) , [](https://github.com/jodoglevy/gargl). 
- Liferay plugins - The liferay-plugins repository is part of the Liferay Portal project. Liferay Portal is an open source enterprise web platform for building business solutions that deliver immediate results and long-term value. License: [GNU Lesser 2.1](https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License), [](https://github.com/liferay/liferay-plugins). 
- Netflix Ribbon - 2.0) , [](https://github.com/Netflix/ribbon). 
- Gwt bootstrap - 2.0) , [](https://github.com/gwtbootstrap/gwt-bootstrap). 
- Netflix Zuul - 2.0) , [](https://github.com/Netflix/zuul). 
- CSSEmbed - java-links/blob/master/img/business-friendly.png?raw=true)
- Athou commafeed - hosted RSS reader. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/Athou/commafeed). 
- Handlebars.java - Logic-less and semantic templates with Java, [](https://github.com/jknack/handlebars.java). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Mustache.java - Implementation of mustache.js (web application templating system) for Java. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/spullara/mustache.java). 
-
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). 
- SWT - SWT is an open source widget toolkit for Java designed to provide efficient, portable access to the user-interface facilities of the operating systems on which it is implemented. License: [Eclipse Public License v1.0](https://en.wikipedia.org/wiki/Eclipse_Public_License). 
-
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). 
- Codecademy EventHub - java-links/blob/master/img/business-friendly.png?raw=true)
- Killbill - Open-Source Subscription Billing & Payment Platform . License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/killbill/killbill). 
- Activiti - weight workflow and Business Process Management (BPM) Platform targeted at business people, developers and system admins. Its core is a super-fast and rock-solid BPMN 2 process engine for Java. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/Activiti/Activiti). 
- Liferay Portal - term value. Liferay Portal started out as a personal development project in 2000 and was open sourced in 2001. License: [GNU Lesser 2.1](https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License), [](https://github.com/liferay/liferay-portal). 
- Broadleaf Commerce - Broadleaf Commerce - Enterprise eCommerce framework based on Spring. License: [Broadleaf Fair Use](https://www.broadleafcommerce.com/license/community) , [](https://github.com/BroadleafCommerce/BroadleafCommerce). 
- Spring Roo - generation rapid application development tool for Java developers. It focuses on higher productivity, stock-standard Java APIs, high usability, avoiding engineering trade-offs and facilitating easy Roo removal. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/spring-projects/spring-roo). 
-
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** 
- libgdx - 2.0) , [](https://github.com/libgdx/libgdx). 
- Disunity
- LibGDX/LWJGL - basics.svg?style=social&label=Star&maxAge=2592000)](https://github.com/mattdesl/lwjgl-basics).
- jMonkeyEngine - clause_license_.28.22Revised_BSD_License.22.2C_.22New_BSD_License.22.2C_or_.22Modified_BSD_License.22.29), [](https://github.com/jMonkeyEngine/jmonkeyengine). 
- Jetserver - game-server.svg?style=social&label=Star&maxAge=2592000)](https://github.com/menacher/java-game-server). 
- LWJGL 2.X - The Lightweight Java Game Library. https://www.lwjgl.org/ 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/LWJGL/lwjgl). 
- PlayN - platform. License: [Apache 2.0](https://en.wikipedia.org/wiki/Apache_License). [](https://github.com/playn/playn). 
- FXGL - JavaFX Game Development Framework. License: [MIT](https://opensource.org/licenses/MIT), [](https://github.com/AlmasB/FXGL). 
- 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) 
-
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). 
- 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). 
- 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) 
- 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).
- Gs collections - java-links/tree/master/helloworlds/1.6-usefull-libraries/collections/gs-eclipse). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/goldmansachs/gs-collections). 
- 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). 
- OpenHFT Chronicle Queue - Queue.svg?style=social&label=Star&maxAge=2592000)](https://github.com/OpenHFT/Chronicle-Queue). 
- Trove - The Trove library provides high speed regular and primitive collections for Java. License: [GNU Lesser 2.1](https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License). 
- underscore-java - Underscore-java is a java port of Underscore.js. In addition to porting Underscore's functionality, Underscore-java includes matching unit tests. License: [MIT](https://opensource.org/licenses/MIT) , [](https://github.com/javadev/underscore-java). 
- Joda-Time - Joda-Time provides a quality replacement for the Java date and time classes. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0), [](https://github.com/JodaOrg/joda-time). 
- ThreeTenBP - Backport of functionality based on JSR-310 to Java SE 6 and 7. This is NOT an implementation of JSR-310. 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). 
- Time4J - Advanced date, time and interval library for Java. License: [GNU Lesser 2.1](https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License). 
- Ocpsoft Prettytime - 2.0) , [](https://github.com/ocpsoft/prettytime). 
- threeten-extra - time classes that complement those in JDK 8. [business-friendly BSD 3-clause license](http://www.threeten.org/threeten-extra/license.html)
- Dagger and Dagger2 - java-links/tree/master/helloworlds/1.6-usefull-libraries/dependency_injection/dependency-injection-dagger). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/square/dagger), stackoverflow - [800 questions](http://stackoverflow.com/questions/tagged/dagger). 
- Google Guice - Guice (pronounced 'juice') is a lightweight dependency injection framework for Java 6 and above, brought to you by Google. [Hello World examples](https://github.com/Vedenin/useful-java-links/tree/master/helloworlds/1.6-usefull-libraries/dependency_injection/dependency-injection-guice). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0), [](https://github.com/google/guice). 
- jcommander - 2.0) , [](https://github.com/cbeust/jcommander). 
- Jline - clause_license_.28original_.22BSD_License.22.29), [](https://github.com/jline/jline2). 
- CRaSH - The shell for the Java Platform Open source and open minde. License: [GNU Lesser 2.1](https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License) 
- Vavr - Vavr (formerly called Javaslang) is a functional library for Java 8+. It helps to reduce the amount of code and to increase the robustness. A first step towards functional programming is to start thinking in immutable values. Vavr provides immutable collections and the necessary functions and control structures to operate on these values, [](https://github.com/vavr-io/vavr). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- jOOλ - jOOλ - The Missing Parts in Java 8 jOOλ improves the JDK libraries in areas where the Expert Group's focus was elsewhere. It adds tuple support, function support, and a lot of additional functionality around sequential Streams, [](https://github.com/jOOQ/jOOL). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Functional Java - Functional Java is an open source library facilitating functional programming in Java. The library implements numerous basic and advanced programming abstractions that assist composition oriented development. Functional Java also serves as a platform for learning functional programming concepts by introducing these concepts using a familiar language. http://www.functionaljava.org 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/functionaljava/functionaljava). 
- Fugue - Java 8 has standardised some of the basic function interfaces, but does not include quite a few more tools that a functional programmer may expect to be available. This library attempts to fill in some of the gaps when using Java 8. In particular it provides Option and Either types as well as a Pair. There also additional helper classes for common Function, Supplier, and Iterable operations. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- derive4j - Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching, morphisms, (near future: optics and typeclasses), [](https://github.com/derive4j/derive4j). License: [GNU 3](https://en.wikipedia.org/wiki/GNU_General_Public_License).
- Eclipse Vert.x - kit for building reactive applications on the JVM . License: Eclipse Public 1 / [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/eclipse/vert.x), stackoverflow - [728 questions](http://stackoverflow.com/search?q=Vert.x). 
- OTP-Java - A small one-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP). [MIT](https://opensource.org/licenses/MIT)
- Scribe Java - Simple OAuth library for Java. License: [MIT](https://opensource.org/licenses/MIT) , [](https://github.com/scribejava/scribejava). 
- Spring security oauth - Support for adding OAuth1(a) and OAuth2 features (consumer and provider) for Spring web applications. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/spring-projects/spring-security-oauth). 
- Spring security - 2.0) , [](https://github.com/spring-projects/spring-security). 
- Play Authenticate - An authentication plugin for Play Framework 2.x (Java). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/joscha/play-authenticate). 
- Bouncy Castle - Legion of the Bouncy Castle Java cryptography APIs.A lightweight cryptography API. License: [MIT](https://opensource.org/licenses/MIT). 
- Google Keyczar - Easy-to-use crypto toolkit. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- JCTools - Concurrency tools currently missing from the JDK. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- JUnion - Delivers struct types for Java programming language. 64 bit addressable struct arrays. [https://tehleo.github.io/junion/](https://tehleo.github.io/junion/) License: [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). 
- Square Okio - 2.0) , [](https://github.com/square/okio). 
- MessagePack - MessagePack serializer implementation for Java. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/msgpack/msgpack-java). 
- FlatBuffers - Memory efficient serialization library that can access serialized data without unpacking and parsing it. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- FST - JDK compatible high performance object graph serialization. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Kryo - Fast and efficient object graph serialization framework. 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). 
- Graylog2 server - server.svg?style=social&label=Star&maxAge=2592000)](https://github.com/Graylog2/graylog2-server). 
- logback - v10.html)/[GNU Lesser 2.1](https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License), [](https://github.com/qos-ch/logback). 
- slf4j - ch/slf4j.svg?style=social&label=Star&maxAge=2592000)](https://github.com/qos-ch/slf4j). 
- Elastic Kibana - Analyzes and visualizes log files. Some features require payment. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Elastic Logstash - Tool for managing log files. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Metrics - Expose metrics via JMX or HTTP and can send them to a database. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- tinylog - Lightweight logging framework with static logger class. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- MapStruct - An annotation processor for generating type-safe bean mappers. [Hello World examples](https://github.com/Vedenin/useful-java-links/tree/master/helloworlds/1.6-usefull-libraries/bean_mapping/mapstruct). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0), [](https://github.com/mapstruct/mapstruct). 
- Orika - Simpler, better and faster Java bean mapping framework. [Hello World examples](https://github.com/Vedenin/useful-java-links/tree/master/helloworlds/1.6-usefull-libraries/bean_mapping/orika). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0), [](https://github.com/orika-mapper/orika). 
- Selma - Stupid Simple Statically Linked Mapper. [Hello World examples](https://github.com/Vedenin/useful-java-links/tree/master/helloworlds/1.6-usefull-libraries/bean_mapping/selma). Selma Java bean mapping that compiles. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0), [](https://github.com/xebia-france/selma). 
- OVal - 2.0). [](https://github.com/sebthom/oval) 
- graylog - Open-source aggregator suited for extended role and permission management. License: [GNU 3](https://en.wikipedia.org/wiki/GNU_General_Public_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). 
- Koloboke - Java Collections till the last breadcrumb of memory and performance . This library is a carefully designed and efficient extension of the Java Collections Framework with primitive specializations and more. Java 6+. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Agrona - High Performance data structures and utility methods for Java and C++, License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Retrolambda - 2.0) , [](https://github.com/orfjackal/retrolambda). 
- Simple Binary Encoding (SBE) - High Performance Message Codec. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/real-logic/simple-binary-encoding). 
- fastutil - fastutil extends the Java™ Collections Framework by providing type-specific maps, sets, lists and queues with a small memory footprint and fast access and insertion; provides also big (64-bit) arrays, sets and lists, and fast, practical I/O classes for binary and text files. It requires Java 7 or newer. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.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). 
- Facebook Rebound - java-links/blob/master/img/business-friendly.png?raw=true)
- Processing - java-links/blob/master/img/impossible-proprietary-code-linking.png?raw=true)
- JavaCV - 2.0) , [](https://github.com/bytedeco/javacv). 
- imgscalr - scaling library implementing Chris Campbell's incremental scaling algorithm as well as Java2D's "best-practices" image-scaling techniques. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/thebuzzmedia/imgscalr). 
- webcam-capture - in or connected via USB webcams or remote IP / network cameras directly from Java code. Using provided libraries user is able to read camera images and detect motion. License: [MIT](https://opensource.org/licenses/MIT) , [](https://github.com/sarxos/webcam-capture). 
- Thumbnailator - Thumbnailator's fluent interface can be used to perform fairly complicated thumbnail processing task in one simple step.
-
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). 
- Google Auto - A collection of source code generators for Java. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/google/auto). 
- Square Javapoet - JavaPoet is a Java API for generating .java source files. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/square/javapoet). 
- Byte buddy - Runtime code generation for the Java virtual machine. http://bytebuddy.net/ License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/raphw/byte-buddy). 
- ASM - ASM is an all purpose Java bytecode manipulation and analysis framework. It can be used to modify existing classes or dynamically generate classes, directly in binary form. Provided common transformations and analysis algorithms allow to easily assemble custom complex transformations and code analysis tools. 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) / License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- 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). 
- ADT4J - This library implements Algebraic Data Types for Java. ADT4J provides annotation processor for @GenerateValueClassForVisitor annotation. ADT4J generates new class for each @GenerateValueClassForVisitor annotation. 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). 
- JHipster - Hipster stack for Java developers. Spring Boot + AngularJS in one handy generator. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- cglib - cglib - Byte Code Generation Library is high level API to generate and transform Java byte code. It is used by AOP, testing, data access frameworks to generate dynamic proxy objects and intercept field access. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
-
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). 
- Apache Storm - Apache Storm is a free and open source distributed realtime computation system. Storm makes it easy to reliably process unbounded streams of data, doing for realtime processing what Hadoop did for batch processing. Storm is simple, can be used with any programming language, and is a lot of fun to use! [](https://github.com/apache/storm). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Twitter Heron - Heron is realtime analytics platform developed by Twitter. It is the direct successor of Apache Storm, built to be backwards compatible with Storm's topology API but with a wide array of architectural improvements. [](https://github.com/twitter/heron). http://heronstreaming.io License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Netflix Curator - 2.0) , [](https://github.com/Netflix/curator). 
- Netflix Hystrix - Hystrix is a latency and fault tolerance library designed to isolate points of access to remote systems, services and 3rd party libraries, stop cascading failure and enable resilience in complex distributed systems where failure is inevitable, [](https://github.com/Netflix/Hystrix). 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). 
-
Programming Languages
Categories
Sub Categories
6. Useful libraries
73
1. Testing
58
2. Web development
47
8. Machine Learning
42
7. Big data
31
1. Databases and storages
29
4. Client and drivers for databases
21
2. Deploy, config and build
17
5. Opensource applications that were written with Java
16
9. Distributed Applications
16
3. Websites
16
5. Rest Frameworks
15
5. Game Development
15
1. Common frameworks and libraries
14
1. Source code examples
14
5. Monitoring
13
3. Message, message broker and message queue
13
8. Json
12
1. Servers (Web Server and Application Server)
12
6. Opensource games that were written with Java
11
5. ORM
11
16. XML and SOAP
11
3. Perfomance tools
11
4. Formal Verification
11
4. Http and ssh
10
12. Clouds
10
3. Continuous Integration
10
4. Code Analysis
9
1. IDE
9
6. Working with messy data
9
2. Networking
9
10. Integratin with API
9
8. Code generation and changing byte code
9
4. Business
9
3. Search engines
8
14. Document Processing (XLS, DOC and PDF)
8
8. Other
7
7. Web Crawling and HTML parsering
7
7. Imagery and Video
7
2. Data structures
6
11. OSGI
6
3. GUI
6
1. Program languages that were written with Java
5
6. Integration frameworks
5
2. Code Coverage
4
2. Influential Books
4
17. Geospatial Service Interation
4
3. Javascript
4
13. Cluster Management
3
2. Other program languages tools that were written with Java
3
10. Science
3
9. CSV
3
1. Communities
3
11. Bitcoin
3
15. Native
2
2. Benchmark results
2
18. Reverse Proxy Servers
1
7. Documentation
1
4. Frameworks that help to create parsers, interpreters or compilers
1
Keywords
java
140
database
15
sql
12
android
11
framework
11
spring
10
kotlin
10
microservices
9
big-data
8
java-library
8
javascript
8
python
8
jvm
7
hadoop
6
machine-learning
6
static-analysis
6
web-framework
5
scala
5
spring-boot
5
reactive
5
testing
5
jdbc
5
functional-programming
5
data-science
4
http-client
4
ios
4
mysql
4
concurrency
4
json
4
serialization
4
nosql
4
intellij
4
netty
4
data-structures
4
minecraft
4
apache
4
groovy
4
gradle
4
metrics
3
web
3
junit
3
distributed-systems
3
jboss
3
distributed
3
xml
3
rpc
3
jakartaee
3
rest
3
performance
3
maven
3