https://github.com/Vedenin/useful-java-links
A list of useful Java frameworks, libraries, software and hello worlds examples
https://github.com/Vedenin/useful-java-links
List: useful-java-links
awesome awesome-list java-api java-applications java-frameworks java-libraries java-links lists machine-learning resources
Last synced: about 1 year ago
JSON representation
A list of useful Java frameworks, libraries, software and hello worlds examples
- Host: GitHub
- URL: https://github.com/Vedenin/useful-java-links
- Owner: Vedenin
- License: other
- Created: 2016-02-13T13:14:52.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2024-11-16T08:06:19.000Z (over 1 year ago)
- Last Synced: 2025-03-17T11:04:34.146Z (about 1 year ago)
- Topics: awesome, awesome-list, java-api, java-applications, java-frameworks, java-libraries, java-links, lists, machine-learning, resources
- Language: Java
- Homepage:
- Size: 2.3 MB
- Stars: 5,959
- Watchers: 496
- Forks: 1,186
- Open Issues: 15
-
Metadata Files:
- Readme: readme.md
- Contributing: contributing.md
- License: license.md
Awesome Lists containing this project
- awesome-awesome - Useful Java links
- fucking-awesome-java - Useful Java Links
- ultimate-awesome - useful-java-links - A list of useful Java frameworks, libraries, software and hello worlds examples. (Other Lists / TeX Lists)
- awesome-java - Useful Java Links
- awesome-java-zh - Useful Java Links
- jimsghstars - Vedenin/useful-java-links - A list of useful Java frameworks, libraries, software and hello worlds examples (Java)
- awesome-java - Useful Java Links
- Best-of-Github - Useful Java links - A list of useful Java frameworks, libraries, software and hello worlds examples (Awesome Lists)
README
# Useful Java links
This is a fork of [awesome link](https://github.com/akullpp/awesome-java) with new structure, additional license info and github's star info for every link, with a lot of new links (all non-mobile github projects with 390 or more star) and so on. **The russian version is [in this place](https://github.com/Vedenin/useful-java-links/tree/master/link-rus)**.
**The "Hello Worlds examples" project is [in this place](https://github.com/Vedenin/useful-java-links/tree/master/helloworlds)**.
# Useful java links
- [I. Development](#i-development)
- [1. Common frameworks and libraries](#1-common-frameworks-and-libraries)
- [2. Web development](#2-web-development)
- [3. GUI](#3-gui)
- [4. Business](#4-business)
- [5. Game Development](#5-game-development)
- [6. Useful libraries](#6-useful-libraries)
- [Collections](#collections)
- [Date and Time](#date-and-time)
- [Dependency Injection and AOP](#dependency-injection-and-aop-frameworks)
- [Console and Command line](#console-and-command-line)
- [Functional Programming](#functional-programming)
- [Reactive Programming](#reactive-programming)
- [Security and Authentication](#security-and-authentication)
- [High Performance](#high-performance)
- [Serialization and I/O](#serialization-and-io)
- [Logging](#logging)
- [Bean Mapping and Validation](#bean-mapping-and-validation)
- [7. Imagery and Video](#7-imagery-and-video)
- [8. Code generation and changing byte code](#8-code-generation-and-changing-byte-code)
- [9. Distributed Applications](#9-distributed-applications)
- [10. Science](#10-science)
- [11. OSGI](#11-osgi)
- [II. Databases, search engines, big data and machine learning](#ii-databases-search-engines-big-data-and-machine-learning)
- [1. Databases and storages](#1-databases-and-storages)
- [Distributed Databases](#distributed-databases)
- [2. Data structures](#2-data-structures)
- [3. Search engines](#3-search-engines)
- [4. Client and drivers for databases](#4-client-and-drivers-for-databases)
- [5. ORM](#5-orm)
- [6. Working with messy data](#6-working-with-messy-data)
- [7. Big data](#7-big-data)
- [8. Machine Learning](#8-machine-learning)
- [Semantic Web and Linked Data](#semantic-web-and-linked-data)
- [Constraint Satisfaction Problem Solver](#constraint-satisfaction-problem-solver)
- [Natural Language Processing (NLP) and Speech Recognition](#natural-language-processing-nlp-and-speech-recognition)
- [III. Network and Integration](#iii-network-and-integration)
- [1. Servers (Web Server and Application Server))](#1-servers-web-server-and-application-server)
- [2. Networking](#2-networking)
- [3. Message, message broker and message queue](#3-message-message-broker-and-message-queue)
- [4. Http and ssh](#4-http-and-ssh)
- [5. Rest Frameworks](#5-rest-frameworks)
- [6. Integration frameworks](#6-integration-frameworks)
- [7. Web Crawling and HTML parsering](#7-web-crawling-and-html-parsering)
- [8. Json](#8--json)
- [9. CSV](#9-csv)
- [10. Integratin with API](#10-integratin-with-api)
- [11. Bitcoin](#11-bitcoin)
- [12. Clouds](#12-clouds)
- [13. Cluster Management](#13-cluster-management)
- [14. Document Processing (XLS, DOC and PDF)](#14-document-processing-xls-doc-and-pdf)
- [15. Native](#15-native)
- [16. XML and SOAP](#16-xml-and-soap)
- [17. Geospatial Service Interation](#17-geospatial-service-interation)
- [18. Reverse Proxy Servers](#18-reverse-proxy-servers)
- [IV. Testing](#iv-testing)
- [1. Testing](#1-testing)
- [2. Code Coverage](#2-code-coverage)
- [3. Continuous Integration](#3-continuous-integration)
- [4. Formal Verification](#4-formal-verification)
- [V. Tools for developing](#v-tools-for-developing)
- [1. IDE](#1-ide)
- [2. Deploy, config and build](#2-deploy-config-and-build)
- [Build](#build)
- [Configuration](#configuration)
- [Distribution](#distribution)
- [3. Perfomance tools](#3-perfomance-tools)
- [4. Code Analysis](#4-code-analysis)
- [5. Monitoring](#5-monitoring)
- [6. Redefinition of classes at runtime](#6-redefinition-of-classes-at-runtime)
- [7. Documentation](#7-documentation)
- [8. Other](#8-other)
- [VI. Program languages and applications that were written with Java](#vi-program-languages-and-applications-that-was-written-with-java)
- [1. Program languages that were written with Java](#1--program-languages-that-was-written-with-java)
- [2. Other program languages tools that were written with Java](#2-other-program-languages-tools-that-was-written-with-java)
- [3. Javascript](#3-javascript)
- [4. Frameworks that help to create parsers, interpreters or compilers](#4-frameworks-that-help-to-create-parsers-interpreters-or-compilers)
- [5. Opensource applications that were written with Java](#5-opensource-applications-that-was-written-with-java)
- [6. Opensource games that were written with Java](#6-opensource-games-that-was-written-with-java)
- [VII. Other](#vii-other)
- [1. Source code examples](#1-source-code-examples)
- [2. Benchmark results](#2-benchmark-results)
- [3. Working with git and github](#3-working-with-git-and-github)
- [VIII. Resources](#viii-resources)
- [1. Communities](#1-communities)
- [2. Influential Books](#2-influential-books)
- [3. Websites](#3-websites)
## I. Development
### 1. Common frameworks and libraries
[Up](#useful-java-links)
1. [Spring framework](https://github.com/spring-projects/spring-framework) The Spring Framework provides a comprehensive programming and configuration model for modern Java-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). 
1. [Google Guava](https://github.com/google/guava) The Guava project contains several of Google's core libraries that we rely on in our Java-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). 
1. [Apache Commons](http://commons.apache.org/) - 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). 
1. [Spring Boot](https://github.com/spring-projects/spring-boot) — Spring Boot makes it easy to create Spring-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). 
1. [Lombok](https://github.com/rzwitserloot/lombok) Very spicy additions to the Java programming language. Project Lombok makes java a spicier language by adding 'handlers' that know how to build and compile simple, boilerplate-free, not-quite-java code. License: [MIT](https://opensource.org/licenses/MIT) , [](https://github.com/rzwitserloot/lombok). 
1. [Puniverse Quasar](https://github.com/puniverse/quasar) Fibers, Channels and Actors for the JVM. [Hello World examples](https://github.com/Vedenin/useful-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). 
1. [Rootbeer GPU Compiler](https://github.com/pcpratts/rootbeer1)The Rootbeer GPU Compiler lets you use GPUs from within Java. License: [MIT](https://opensource.org/licenses/MIT) , [](https://github.com/pcpratts/rootbeer1). 
1. [Oblac Jodd](https://github.com/oblac/jodd) Jodd is set of open-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). 
1. [Google Jimfs](https://github.com/google/jimfs) An in-memory file system for Java 7+. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/google/jimfs). 
1. [Spring batch](https://github.com/spring-projects/spring-batch) Spring Batch is a framework for writing offline and batch applications using Spring and Java. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/spring-projects/spring-batch). 
1. [Microserver](https://github.com/aol/micro-server) — A convenient Microservices plugin system for Spring & Spring Boot, with over 30 plugins and growing, that supports both micro-monolith and pure microservices styles. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/aol/micro-server). 
1. [Greenrobot common](https://github.com/greenrobot/essentials) General purpose utilities and hash functions for Android and Java (aka java-common). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/greenrobot/essentials). 
1. [Kilim](https://github.com/kilim/kilim) Lightweight threads for Java, with message passing, nio, http and scheduling support. License: [MIT](https://opensource.org/licenses/MIT) , [](https://github.com/kilim/kilim). 
1. [Apache Isis](http://isis.apache.org) Apache Isis is a framework for rapidly developing domain-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). 
1. [Apache Zest](https://zest.apache.org/) Apache Zest is a community based effort exploring Composite Oriented Programming for domain centric application development. This includes evolved concepts from Aspect Oriented Programming, Dependency Injection and Domain Driven Design. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Embedchain-JS](https://github.com/embedchain/embedchainjs) Framework to easily create LLM powered bots over any dataset. [](https://github.com/embedchain/embedchainjs)
### 2. Web development
[Up](#useful-java-links)
#### Web Frameworks
1. [Play Framework](https://github.com/playframework/playframework) The Play Framework combines productivity and performance making it easy to build scalable web applications with Java and Scala. https://www.playframework.com/ . License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/playframework/playframework). 
1. [Spark](https://github.com/perwendel/spark) Spark - a Sinatra inspired web framework. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/perwendel/spark). 
1. [Blade](https://github.com/biezhi/blade) a simple, elegant java web framework! License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/biezhi/blade). 
1. [Atmosphere](https://github.com/Atmosphere/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). 
1. [Grails](https://github.com/grails/grails-core) - Grails is a framework used to build web applications with the Groovy programming language. The core framework is very extensible and there are numerous plugins available that provide easy integration of add-on features. https://grails.org/ License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/grails/grails-core). 
1. [Ninja](https://github.com/ninjaframework/ninja) Ninja is a full stack web framework for Java. Rock solid, fast and super productive. .http://www.ninjaframework.org. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/ninjaframework/ninja). 
1. [Electronicarts Orbit](https://github.com/electronicarts/orbit) — 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). 
1. [Ratpack](https://github.com/ratpack/ratpack) Ratpack is a simple, capable, toolkit for creating high performance web applications. Ratpack is built on Java and the Netty event-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). 
1. [Vaadin](https://github.com/vaadin/vaadin) — Vaadin is a Java framework for building modern web applications that look great, perform well and make you and your users happy.https://vaadin.com/ License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/vaadin/vaadin). 
1. [ZK framework](https://github.com/zkoss/zk) ZK is a highly productive Java framework for building amazing enterprise web and mobile applications. License: [GNU Lesser](https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License), [](https://github.com/zkoss/zk). 
1. [Apache Tapestry](http://tapestry.apache.org/) - A component-oriented framework for creating highly scalable web applications in Java. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Apache Wicket](http://wicket.apache.org/) - Open Source Java web framework that powers thousands of web applications and web sites for governments, stores, universities, cities, banks, email providers, and more. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Google Web Toolkit](http://www.gwtproject.org/) - 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). 
1. [Pippo](http://www.pippo.ro/) - 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). 
1. [Spring MVC](http://projects.spring.io/spring-framework/) - Spring MVC web application and RESTful web service framework. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [JavaServer Faces](https://javaserverfaces.java.net/) - 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)
1. [JavaServer Pages](https://jsp.java.net/) - 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)
1. [Apache Cocoon](http://cocoon.apache.org/) Web development framework: separation of concerns, component-based. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Apache Struts](http://struts.apache.org) Apache Struts is a free open-source framework for creating Java web applications. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Apache Sling](http://sling.apache.org/) Innovative Web framework based on JCR and OSGi. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Apache MyFaces](http://myfaces.apache.org) The first free open source JavaServer(tm) Faces implementation. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Apache Pivot](http://pivot.apache.org) Apache Pivot is an open-source platform for building installable Internet applications (IIAs) [rich Internet application]. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Apache Turbine](http://turbine.apache.org) Turbine is a servlet based framework that allows Java developers to quickly build web applications. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Apache OODT](http://oodt.apache.org) Apache OODT software is component based, and offers a software architecture beyond simple science applications. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [VRaptor](https://github.com/caelum/vraptor4) VRaptor 4 delivers high productivity to your Java Web applications on top of CDI. VRaptor is an opensource MVC framework with a large developers and users community, [](https://github.com/caelum/vraptor4). http://www.vraptor.org . License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Jooby](https://github.com/jooby-project/jooby) Scalable, fast and modular micro web framework for Java , [](https://github.com/cjooby-project/jooby). http://jooby.org/ . License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [CUBA Platform](https://github.com/cuba-platform/cuba) - 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). 
1. [Jersey](https://jersey.github.io/) - 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.
#### Libraries for web development
1. [Tobie ua-parser](https://github.com/tobie/ua-parser) A multi-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). 
1. [Ghost Driver](https://github.com/detro/ghostdriver) Ghost Driver is an implementation of the Remote WebDriver Wire protocol, using PhantomJS as back-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). 
1. [B3log Solo](https://github.com/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). 
1. [Nasher](https://github.com/ghaseminya/nasher-mvc-spring-security-blog-angular) - 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). 
1. [Baasbox](https://github.com/baasbox/baasbox) BaasBox is an Open Source project that aims to provide a backend for mobile and web apps. License: ?, [](https://github.com/baasbox/baasbox).
1. [Kolorobot Spring MVC 4 Quickstart Maven Archetype](https://github.com/kolorobot/spring-mvc-quickstart-archetype) — The project is a Maven archetype for Spring MVC 4 web application. License: ?, [](https://github.com/kolorobot/spring-mvc-quickstart-archetype).
1. [Gargl](https://github.com/jodoglevy/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). 
1. [Liferay plugins](https://github.com/liferay/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). 
1. [Netflix Ribbon](https://github.com/Netflix/ribbon) Ribbon is a Inter Process Communication (remote procedure calls) library with built in software load balancers. The primary usage model involves REST calls with various serialization scheme support. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/Netflix/ribbon). 
1. [Gwt bootstrap](https://github.com/gwtbootstrap/gwt-bootstrap) A GWT Library that provides the widgets of Bootstrap, from Twitter. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/gwtbootstrap/gwt-bootstrap). 
1. [Netflix Zuul](https://github.com/Netflix/zuul) Zuul is an edge service that provides dynamic routing, monitoring, resiliency, security, and more. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/Netflix/zuul). 
1. [PrimeFaces](http://primefaces.org/) - PrimeUI is a pure CSS-JS library designed to work with any server side and client side technology featuring 50+ jQuery Widgets, Web Components, Premium Layouts-Themes and more. PrimeUI is an offspring project of the mighty PrimeFaces. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Spring Boot](http://projects.spring.io/spring-boot/) - Spring Boot makes it easy to create Spring-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). 
1. [CSSEmbed](https://github.com/nzakas/cssembed) A tool for embedding data URIs in CSS files. License: [MIT](https://opensource.org/licenses/MIT) , [](https://github.com/nzakas/cssembed). 
1. [Athou commafeed](https://github.com/Athou/commafeed) Google Reader inspired self-hosted RSS reader. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/Athou/commafeed). 
1. [Apache Any23](http://any23.apache.org) Anything To Triples (Any23) is a library, a web service and a command line tool that extracts structured data in RDF format from a variety of Web. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Apache Forrest](http://forrest.apache.org/) Apache Forrest software is a publishing framework that transforms input from various sources into a unified presentation in one or more output formats. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
#### Template Engine
1. [Apache Velocity](http://velocity.apache.org/) - 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). 
1. [Apache FreeMarker](http://freemarker.incubator.apache.org/) - Apache FreeMarker is a template engine: a Java library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Handlebars.java](https://github.com/jknack/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). 
1. [Thymeleaf](http://www.thymeleaf.org/) - It is a template engine capable of processing and generating HTML, XML, JavaScript, CSS and text, and can work both in web and non-web environments. It is better suited for serving the view layer of web applications, but it can process files in many formats, even in offline environments. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Mustache.java](https://github.com/spullara/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). 
1. [Apache Tiles](http://tiles.apache.org) Apache Tiles is a templating framework built to simplify the development of web application user interfaces. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
#### CMS and content management
1. [Apache Stanbol](http://stanbol.apache.org) Software components for semantic content management. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Apache JSPWiki](http://jspwiki.apache.org) A feature-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). 
1. [Apache Portals](http://portals.apache.org) The Apache Portals project provides various software products, including Apache Jetspeed-2, Apache Pluto, and Apache Portals Applications. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Apache Roller](http://roller.apache.org/) Apache Roller is a full-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). 
1. [Apache Chemistry](http://chemistry.apache.org/) Apache Chemistry provides open source implementations of the Content Management Interoperability Services (CMIS) specification. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Jease](http://jease.org/) Jease eases the development of content- & database-driven web-applications with Java. License: [GPL v3](https://www.gnu.org/licenses/gpl-3.0). 
### 3. GUI
1. [JavaFX](http://www.oracle.com/technetwork/java/javase/overview/javafx-overview-2158620.html) - 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). 
1. [Scene Builder](http://www.oracle.com/technetwork/java/javase/downloads/javafxscenebuilder-info-2157684.html) - 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.
1. [Gluon Scene Builder](https://bitbucket.org/gluon-oss/scenebuilder) - 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). 
1. [SWT](http://www.eclipse.org/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). 
1. [Lanterna](https://code.google.com/archive/p/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). 
1. [Gephi](https://github.com/gephi/gephi/) - Gephi is an award-winning open-source platform for visualizing and manipulating large graphs. It runs on Windows, Mac OS X and Linux. Localization is available in French, Spanish, Japanese, Russian, Brazilian Portuguese, Chinese and Czech. License: [GNU 3](https://en.wikipedia.org/wiki/GNU_General_Public_License) or [CDDL 1.0](http://opensource.org/licenses/CDDL-1.0).
1. [Codename One](https://www.codenameone.com/) - Open-source cross-platform app development solution for writing native apps for desktop, web & mobile in Java/Kotlin. (GPL + Classpath Exception)
### 4. Business
[Up](#useful-java-links)
1. [Codecademy EventHub](https://github.com/Codecademy/EventHub) — An open source event analytics platform. License: [MIT](https://opensource.org/licenses/MIT) , [](https://github.com/Codecademy/EventHub). 
1. [Killbill](https://github.com/killbill/killbill) - Open-Source Subscription Billing & Payment Platform . License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/killbill/killbill). 
1. [Activiti](https://github.com/Activiti/Activiti) Activiti is a light-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). 
1. [Liferay Portal](https://github.com/liferay/liferay-portal) Liferay Portal is an open source enterprise web platform for building business solutions that deliver immediate results and long-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). 
1. [Broadleaf Commerce](https://github.com/BroadleafCommerce/BroadleafCommerce) - Broadleaf Commerce - Enterprise eCommerce framework based on Spring. License: [Broadleaf Fair Use](https://www.broadleafcommerce.com/license/community) , [](https://github.com/BroadleafCommerce/BroadleafCommerce). 
1. [Droolsjbpm Drools](https://github.com/droolsjbpm/drools) Drools Expert is the rule engine and Drools Fusion does complex event processing (CEP). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/droolsjbpm/drools). 
1. [Spring Roo](https://github.com/spring-projects/spring-roo) — Spring Roo is a next-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). 
1. [Apache OFBiz](http://ofbiz.apache.org) Apache OFBiz (The Apache Open For Business Project) is an open source enterprise automation software project. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Apache Portals](http://portals.apache.org) The Apache Portals project provides various software products, including Apache Jetspeed-2, Apache Pluto, and Apache Portals Applications. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Apache ODE](http://ode.apache.org) Apache ODE is a WS-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
[Up](#useful-java-links)
1. [libgdx](https://github.com/libgdx/libgdx) Desktop/Android/HTML5/iOS Java game development framework. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/libgdx/libgdx). 
1. [Disunity](https://github.com/ata4/disunity) An experimental toolset for Unity asset and asset bundle files. License: [unlicense.org](http://unlicense.org), [](https://github.com/ata4/disunity).

1. [LibGDX/LWJGL](https://github.com/mattdesl/lwjgl-basics) LibGDX/LWJGL tutorials and examples. License: ?, [](https://github.com/mattdesl/lwjgl-basics).
1. [jMonkeyEngine](https://github.com/jMonkeyEngine/jmonkeyengine) A complete 3D game development suite written purely in Java.. https://jmonkeyengine.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/jMonkeyEngine/jmonkeyengine). 
1. [Jetserver](https://github.com/menacher/java-game-server) Jetserver is a high speed nio socket based multiplayer java game server written using Netty and Mike Rettig's Jetlang.It is specifically tuned for network based multiplayer games and supports TCP and UDP network protocols. License: [MIT](https://opensource.org/licenses/MIT) , [](https://github.com/menacher/java-game-server). 
1. [LWJGL 2.X](https://github.com/LWJGL/lwjgl) 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). 
1. [Ardor3D](https://github.com/gouessej/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). 
1. [DimensioneX Multiplayer Engine](http://www.dimensionex.net/) - 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) 
1. [PlayN](https://github.com/playn/playn) A Java game development framework that deploys to Windows, Linux, HTML5, Android and iOS. Notable games: Angry Birds Chrome. Cross-platform. License: [Apache 2.0](https://en.wikipedia.org/wiki/Apache_License). [](https://github.com/playn/playn). 
1. [Env3D](https://sourceforge.net/projects/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) 
1. [Jake2](http://bytonic.de/html/jake2.html) Java port of the Quake II game engine. 2D. Cross-platform License: [GPL](https://en.wikipedia.org/wiki/GNU_General_Public_License) 
1. [Jogre](http://jogre.sourceforge.net/) - 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) 
1. [Elflight Engine](https://en.wikipedia.org/wiki/Elflight_Engine) - Targeted for web based games. **License: Proprietary** 
1. [FXGL](https://github.com/AlmasB/FXGL) - JavaFX Game Development Framework. License: [MIT](https://opensource.org/licenses/MIT), [](https://github.com/AlmasB/FXGL). 
### 6. Useful libraries
[Up](#useful-java-links)
#### Collections
1. [Google Guava](https://github.com/google/guava) The Guava project contains several of Google's core libraries that we rely on in our Java-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). [Hello World examples](https://github.com/Vedenin/useful-java-links/tree/master/helloworlds/1.6-usefull-libraries/collections/guava) License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/google/guava). 
1. [Apache Commons Collections](http://commons.apache.org/proper/commons-collections/) - Commons-Collections seek to build upon the JDK classes by providing new interfaces, implementations and utilities. [Hello World examples](https://github.com/Vedenin/useful-java-links/tree/master/helloworlds/1.6-usefull-libraries/collections/apache-commons). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Gs collections](https://github.com/goldmansachs/gs-collections) A supplement or replacement for the Java Collections Framework. [Hello World examples](https://github.com/Vedenin/useful-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). 
1. [Eclipse Collections](https://projects.eclipse.org/proposals/eclipse-collections) Eclipse Collections is a collections framework for Java. It has JDK-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). 
1. [javatuples](http://www.javatuples.org/) - 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). 
1. [Immutables](http://immutables.github.io/) - 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). 
1. [OpenHFT Chronicle Queue](https://github.com/OpenHFT/Chronicle-Queue) Micro second messaging that stores everything to disk. License: [GNU Lesser 3](https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License).0, [](https://github.com/OpenHFT/Chronicle-Queue). 
1. [fastutil](http://fastutil.di.unimi.it/) - 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). 
1. [HPPC](http://labs.carrotsearch.com/hppc.html) - 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). 
1. [Koloboke](https://github.com/OpenHFT/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). 
1. [Trove](http://trove.starlight-systems.com/) - 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). 
1. [underscore-java](https://github.com/javadev/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). 
#### Date and Time
1. [Almanac Converter](https://github.com/hypotemoose/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). 
1. [Joda-Time](https://github.com/JodaOrg/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). 
1. [ThreeTenBP](https://github.com/ThreeTen/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). 
1. [Time4J](https://github.com/MenoData/Time4J) - Advanced date, time and interval library for Java. License: [GNU Lesser 2.1](https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License). 
1. [Ocpsoft Prettytime](https://github.com/ocpsoft/prettytime) Social Style Date and Time Formatting for Java.PrettyTime is an OpenSource time formatting library. Completely customizable, it creates human readable, relative timestamps like those seen on Digg, Twitter, and Facebook. Get started “right now!” and in over 30 languages! License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/ocpsoft/prettytime). 
1. [threeten-extra](https://github.com/ThreeTen/threeten-extra) Provides additional date-time classes that complement those in JDK 8. [business-friendly BSD 3-clause license](http://www.threeten.org/threeten-extra/license.html)
#### Dependency Injection and AOP frameworks
1. [Spring Framework](https://github.com/spring-projects/spring-framework) The Spring Framework provides a comprehensive programming and configuration model for modern Java-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. [Hello World examples](https://github.com/Vedenin/useful-java-links/tree/master/helloworlds/1.6-usefull-libraries/dependency_injection/dependency-injection-spring). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/spring-projects/spring-framework). 
1. [Dagger and Dagger2](https://github.com/square/dagger) A fast dependency injector for Android and Java. [Hello World examples](https://github.com/Vedenin/useful-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). 
1. [Google Guice](https://github.com/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). 
1. [Apache DeltaSpike](https://deltaspike.apache.org/) - 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) 
1. [HK2](https://hk2.java.net) - 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. [Eclipse AspectJ](https://eclipse.org/aspectj/) - AspectJ is a seamless aspect-oriented extension to the Java programming language, Java platform compatible, easy to learn and use. License: [Eclipse Public 1.0](https://www.eclipse.org/legal/epl-v10.html). 
#### Console and Command line
1. [jcommander](https://github.com/cbeust/jcommander) Command line parsing framework for Java. http://jcommander.org/ License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/cbeust/jcommander). 
1. [Jline](https://github.com/jline/jline2) JLine is a Java library for handling console input. It is similar in functionality to BSD editline and GNU readline. People familiar with the readline/editline capabilities for modern shells (such as bash and tcsh) will find most of the command editing features of JLine to be familiar. License: [BSD 4](https://en.wikipedia.org/wiki/BSD_licenses#4-clause_license_.28original_.22BSD_License.22.29), [](https://github.com/jline/jline2). 
1. [args4j](http://args4j.kohsuke.org/) - 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) 
1. [CRaSH](http://www.crashub.org) - 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) 
1. [picocli](http://picocli.info) - Annotation based command line parser with strong typing for both options and positional args and support for git-like subcommands. Usage help with ANSI colors. Easily included as source to avoid external dependencies. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0)
#### Functional Programming
*Libraries that facilitate functional programming.*
1. [Retrolambda](https://github.com/orfjackal/retrolambda) Backport of Java 8's lambda expressions to Java 7, 6 and 5. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/orfjackal/retrolambda). 
1. [Vavr](https://github.com/vavr-io/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). 
1. [jOOλ](https://github.com/jOOQ/jOOL) - 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). 
1. [Functional Java](https://github.com/functionaljava/functionaljava) - 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). 
1. [Cyclops react](https://github.com/aol/cyclops-react) - A comprehensive functional reactive platform for JDK8. Future & functional based programming via JDK compatible extensions for Java 8 and above, [](https://github.com/aol/cyclops-react). License: [MIT](https://opensource.org/licenses/MIT) 
1. [Fugue](https://bitbucket.org/atlassian/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). 
1. [TotallyLazy](https://github.com/bodar/totallylazy/) Another functional library for Java , License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0), [](https://github.com/bodar/totallylazy/). 
1. [derive4j](https://github.com/derive4j/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).
#### Reactive Programming
*Libraries for developing reactive applications.*
1. [ReactiveX RxJava](https://github.com/ReactiveX/RxJava) RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-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). 
1. [Eclipse Vert.x](https://github.com/eclipse/vert.x) Vert.x is a tool-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). 
1. [Reactive Streams](https://github.com/reactive-streams/reactive-streams-jvm/) - The purpose of Reactive Streams is to provide a standard for asynchronous stream processing with non-blocking backpressure. License: [Public Domain (CC0)](http://creativecommons.org/publicdomain/zero/1.0/), [](https://github.com/reactive-streams/reactive-streams-jvm/). 
1. [Reactor](http://projectreactor.io/) - Reactor is a second-generation Reactive library for building non-blocking applications on the JVM based on the Reactive Streams Specification. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [RSocket](http://rsocket.io) - RSocket is a binary protocol for use on byte stream transports such as TCP, WebSockets, and Aeron. License: [Apache 2](https://github.com/rsocket/rsocket/blob/master/LICENSE),[](https://github.com/rsocket/rsocket) 
#### Security and Authentication
*Libraries that handle security, authentication, authorization or session management.*
[Up](#useful-java-links)
1. [OTP-Java](https://github.com/BastiaanJansen/OTP-Java) - A small one-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP). [MIT](https://opensource.org/licenses/MIT)
1. [Scribe Java](https://github.com/scribejava/scribejava) - Simple OAuth library for Java. License: [MIT](https://opensource.org/licenses/MIT) , [](https://github.com/scribejava/scribejava). 
1. [Spring security oauth](https://github.com/spring-projects/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). 
1. [Jasig CAS (Central Authentication Service)](https://github.com/Jasig/cas) - Apereo CAS - Single Sign On for the Web.The Central Authentication Service (CAS) is the standard mechanism by which web applications should authenticate users. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/Jasig/cas). 
1. [Spring security](https://github.com/spring-projects/spring-security) — Spring Security provides security services for the Spring IO Platform. Spring Security 3.1 requires Spring 3.0.3 as a minimum and also requires Java 5. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/spring-projects/spring-security). 
1. [Play Authenticate](https://github.com/joscha/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). 
1. [Apache Shiro](http://shiro.apache.org/) - Apache Shiro is a powerful and easy-to-use Java security framework that performs authentication, authorization, cryptography, and session management. With Shiro’s easy-to-understand API, you can quickly and easily secure any application – from the smallest mobile applications to the largest web and enterprise applications. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Bouncy Castle](https://www.bouncycastle.org/java.html) - Legion of the Bouncy Castle Java cryptography APIs.A lightweight cryptography API. License: [MIT](https://opensource.org/licenses/MIT). 
1. [Cryptomator](https://cryptomator.org/) - Free client-side encryption for your cloud files. Open source software: No backdoors, no registration. License: [MIT](https://opensource.org/licenses/MIT). 
1. [Google Keyczar](https://github.com/google/keyczar) - Easy-to-use crypto toolkit. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Keycloak](http://keycloak.jboss.org/) - Integrated SSO and IDM for browser apps and RESTful web services. Built on top of the OAuth 2.0, Open ID Connect, JSON Web Token (JWT) and SAML 2.0 specifications. Keycloak has tight integration with a variety of platforms and has a HTTP security proxy service where we don't have tight integration. Options are to deploy it with an existing app server, as a black-box appliance, or as an Openshift cloud service and/or cartridge. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [PicketLink](http://picketlink.org/) - 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). 
1. [Santuario](http://santuario.apache.org) Library implementing XML Digital Signature Specification & XML Encryption Specification. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Apache Oltu](https://oltu.apache.org/) ( *has retired* ) Apache Oltu is an OAuth protocol implementation in Java. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Apache Syncope](http://syncope.apache.org) Apache Syncope is an Open Source system for managing digital identities in enterprise environments. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [JObfuscator](https://www.pelock.com/products/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: 
1. [OpenAM](https://www.pelock.com/products/jobfuscator) - Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security. License: [CDDL](https://opensource.org/license/cddl-1-0), [](https://github.com/OpenIdentityPlatform/OpenAM). 
#### High Performance
*Everything about high performance computation, from collections to specific libraries.*
[Up](#useful-java-links)
1. [Agrona](https://github.com/real-logic/Agrona) - High Performance data structures and utility methods for Java and C++, License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Disruptor](http://lmax-exchange.github.io/disruptor/) - Inter-thread messaging library. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [fastutil](http://fastutil.di.unimi.it/) - 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. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Eclipse Collections (older GS Collections)](https://github.com/goldmansachs/gs-collections) - Eclipse Collections is a collections framework for Java. It has JDK-compatible List, Set and Map implementations with a rich API 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. The library modules in GS Collections are compatible with Java 5. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [HPPC](http://labs.carrotsearch.com/hppc.html) -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). 
1. [Javolution](http://javolution.org/) - 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). 
1. [JCTools](https://github.com/JCTools/JCTools) - Concurrency tools currently missing from the JDK. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Koloboke](https://github.com/OpenHFT/Koloboke) - Hash sets and hash maps. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Trove](http://trove.starlight-systems.com/) - Primitive collections. License: [GNU Lesser 2.1](https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License). 
1. [JUnion](https://github.com/TehLeo/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). 
#### Serialization and I/O
*Libraries that handle serialization with high efficiency.*
[Up](#useful-java-links)
1. [Square Okio](https://github.com/square/okio) A modern I/O API for Java. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/square/okio). 
1. [Square type](https://github.com/square/tape) A lightning fast, transactional, file-based FIFO for Android and Java. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/square/tape). 
1. [Simple Binary Encoding (SBE)](https://github.com/real-logic/simple-binary-encoding) 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). 
1. [MessagePack](https://github.com/msgpack/msgpack-java) - MessagePack serializer implementation for Java. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/msgpack/msgpack-java). 
1. [FlatBuffers](https://github.com/google/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). 
1. [FST](https://github.com/RuedigerMoeller/fast-serialization) - JDK compatible high performance object graph serialization. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Kryo](https://github.com/EsotericSoftware/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). 
#### Logging
*Libraries that log the behavior of an application.*
[Up](#useful-java-links)
1. [Graylog2 server](https://github.com/Graylog2/graylog2-server) Free and open source log management. License: [GNU 3](https://en.wikipedia.org/wiki/GNU_General_Public_License), [](https://github.com/Graylog2/graylog2-server). 
1. [logback](https://github.com/qos-ch/logback) The reliable, generic, fast and flexible logging framework for Java.. http://logback.qos.ch/. License: [Eclipse Public 1.0](https://www.eclipse.org/legal/epl-v10.html)/[GNU Lesser 2.1](https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License), [](https://github.com/qos-ch/logback). 
1. [slf4j](https://github.com/qos-ch/slf4j) Abstraction layer which is to be used with an implementation. http://www.slf4j.org/ License: [MIT](https://opensource.org/licenses/MIT) , [](https://github.com/qos-ch/slf4j). 
1. [Apache Log4j 2](http://logging.apache.org/log4j/) - Apache Log4j 2 is an upgrade to Log4j that provides significant improvements over its predecessor. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [graylog](https://www.graylog.org/) - Open-source aggregator suited for extended role and permission management. License: [GNU 3](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
1. [Elastic Kibana](https://www.elastic.co/products/kibana) - Analyzes and visualizes log files. Some features require payment. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Elastic Logstash](https://www.elastic.co/products/logstash) - Tool for managing log files. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [Metrics](https://github.com/dropwizard/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). 
1. [tinylog](http://www.tinylog.org/) - Lightweight logging framework with static logger class. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
#### Bean Mapping and Validation
*Frameworks that ease bean mapping or bean validation.*
[Up](#useful-java-links)
1. [Dozer](https://github.com/DozerMapper/dozer/) - Dozer is a Java Bean to Java Bean mapper that recursively copies data from one object to another. [Hello World examples](https://github.com/Vedenin/useful-java-links/tree/master/helloworlds/1.6-usefull-libraries/bean_mapping/dozer). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0), [](https://github.com/DozerMapper/dozer/). 
1. [MapStruct](https://github.com/mapstruct/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). 
1. [ModelMapper](https://github.com/jhalterman/modelmapper) -Simple, Intelligent, Object Mapping. [Hello World examples](https://github.com/Vedenin/useful-java-links/tree/master/helloworlds/1.6-usefull-libraries/bean_mapping/modelmapper). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0), [](https://github.com/jhalterman/modelmapper). 
1. [Orika](https://github.com/orika-mapper/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). 
1. [Selma](https://github.com/xebia-france/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). 
1. [Apache BVal](http://bval.apache.org/) Apache BVal delivers an implementation of the Java Bean Validation (JSR303) Specification which is TCK compliant, works on Java SE 5 or later. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
1. [OVal](http://oval.sourceforge.net/) – is a pragmatic and extensible validation framework for any kind of Java objects. Not JSR303/JSR380 compliant but supports Bean Validation constraints. It's pretty old flexible and reliable. License: [EPL v2.0](https://www.eclipse.org/legal/epl-2.0). [](https://github.com/sebthom/oval) 
### 7. Imagery and Video
*Libraries that assist with the creation, evaluation or manipulation of graphical images or video.*
[Up](#useful-java-links)
1. [Facebook Rebound](https://github.com/facebook/rebound) A Java library that models spring dynamics and adds real world physics to your app. License: [BSD](https://en.wikipedia.org/wiki/BSD_licenses), [](https://github.com/facebook/rebound). ![business friendly license](https://git