useful-java-links
A list of useful Java frameworks, libraries, software and hello worlds examples
https://github.com/Vedenin/useful-java-links
Last synced: 1 day ago
JSON representation
-
I. Development
-
1. Common frameworks and libraries
- Apache Commons - Apache Commons is an Apache project focused on all aspects of reusable Java components.Commons Proper is dedicated to one principal goal: creating and maintaining reusable Java components. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Rootbeer GPU Compiler - java-links/blob/master/img/business-friendly.png?raw=true)
- Apache Isis - driven apps in Java. Write your business logic in entities, domain services and repositories, and the framework dynamically (at runtime) generates a representation of that domain model as a webapp or as a RESTful API. For prototyping or production. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache Zest - 2.0). 
- Spring framework - based enterprise applications -- on any kind of deployment platform. A key element of Spring is infrastructural support at the application level: Spring focuses on the "plumbing" of enterprise applications so that teams can focus on application-level business logic, without unnecessary ties to specific deployment environments. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/spring-projects/spring-framework), stackoverflow - more [100 000 questions](http://stackoverflow.com/questions/tagged/spring). 
- Spring Boot - powered, production-grade applications and services with absolute minimum fuss. It takes an opinionated view of the Spring platform so that new and existing users can quickly get to the bits they need. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/spring-projects/spring-boot). 
- Puniverse Quasar - java-links/tree/master/helloworlds/1.1-common-frameworks-and-lib/quasar). License: Eclipse Public v1.0/[GNU Lesser 3](https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License), [](https://github.com/puniverse/quasar). 
- Oblac Jodd - source Java micro frameworks and tools; floppy size! Jodd = tools + ioc + mvc + db + aop + tx + json + html < 1.5 Mb. License: [BSD 2](https://en.wikipedia.org/wiki/BSD_licenses#2-clause_license_.28.22Simplified_BSD_License.22_or_.22FreeBSD_License.22.29), [](https://github.com/oblac/jodd). 
- Google Jimfs - memory file system for Java 7+. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/google/jimfs). 
- Spring batch - 2.0) , [](https://github.com/spring-projects/spring-batch). 
- Microserver - monolith and pure microservices styles. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/aol/micro-server). 
- Greenrobot common - common). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/greenrobot/essentials). 
- Kilim - java-links/blob/master/img/business-friendly.png?raw=true)
- Google Guava - based projects: collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and so forth.Requires JDK 1.6 or higher (as of 12.0). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/google/guava). 
-
2. Web development
- Blade - 2.0) , [](https://github.com/biezhi/blade). 
- Apache Tapestry - A component-oriented framework for creating highly scalable web applications in Java. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache Wicket - 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). 
- 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). 
- Apache OODT - 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). 
- PrimeFaces - 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). 
- 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). 
- Apache Any23 - 2.0). 
- 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 FreeMarker - 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). 
- Thymeleaf - 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). 
- 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). 
- 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). 
- Play Framework - 2.0) , [](https://github.com/playframework/playframework). 
- Spark - a Sinatra inspired web framework. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/perwendel/spark). 
- Atmosphere - Realtime Client Server Framework for the JVM, supporting WebSockets with Cross-Browser Fallbacks. License: CDDL1 / [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/Atmosphere/atmosphere). 
- Ninja - 2.0) , [](https://github.com/ninjaframework/ninja). 
- Electronicarts Orbit - Virtual actor framework for building distributed systems. License: [BSD 3](https://en.wikipedia.org/wiki/BSD_licenses#3-clause_license_.28.22Revised_BSD_License.22.2C_.22New_BSD_License.22.2C_or_.22Modified_BSD_License.22.29), [](https://github.com/electronicarts/orbit). 
- Ratpack - driven networking engine. The API is optimized for Groovy and Java 8.. https://ratpack.io/ License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/ratpack/ratpack). 
- Vaadin - 2.0) , [](https://github.com/vaadin/vaadin). 
- ZK framework - java-links/blob/master/img/business-friendly.png?raw=true)
- JavaServer Faces - JavaServer™ Faces technology simplifies building user interfaces for JavaServer applications. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License) or [CDDL 1.0](https://opensource.org/licenses/CDDL-1.0)
- JavaServer Pages - This project provides a container independent implementation of JSP 2.1. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License) or [CDDL 1.0](http://opensource.org/licenses/CDDL-1.0)
-
3. GUI
- 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). 
- 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). 
- 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). 
- Lanterna - Lanterna is a Java library allowing you to write easy semi-graphical user interfaces in a text-only environment, very similar to the C library curses but with more functionality. License: [LGPL 2.1](https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License). 
- Codename One - Open-source cross-platform app development solution for writing native apps for desktop, web & mobile in Java/Kotlin. (GPL + Classpath Exception)
- JavaFX - JavaFX is the next step in the evolution of Java as a rich client platform. It is designed to provide a lightweight, hardware-accelerated Java UI platform for enterprise business applications. License: [Oracle, proprietary](http://www.oracle.com/technetwork/java/javase/terms/license/index.html). 
-
4. Business
- Droolsjbpm Drools - 2.0) , [](https://github.com/droolsjbpm/drools). 
- Apache OFBiz - 2.0). 
- Apache ODE - BPEL implementation that supports web services orchestration using flexible process definitions. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache Portals - 2, Apache Pluto, and Apache Portals Applications. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
-
5. Game Development
- DimensioneX Multiplayer Engine - Produces browser games with pseudo-3D views. Games can be turned into Facebook Apps. Intended for beginners. 2.5D. Cross-platform. Notable games: Underworld Online. License: [GPL](https://en.wikipedia.org/wiki/GNU_General_Public_License) 
- Env3D - 3D game engine that creates an interface for dynamically adding EnvObjects. Built on jMonkeyEngine 2.0. Cross-platform License: [GPL](https://en.wikipedia.org/wiki/GNU_General_Public_License) 
- Jake2 - platform License: [GPL](https://en.wikipedia.org/wiki/GNU_General_Public_License) 
- Jogre - JOGRE (Java Online Gaming Real-time Engine) which is an open-source, online, real-time gaming engine and API programmed entirely in Java. License: [GPL](https://en.wikipedia.org/wiki/GNU_General_Public_License) 
- Elflight Engine - Targeted for web based games. **License: Proprietary** 
- Ardor3D - JogAmp’s Ardor3D Continuation is a general-purpose, professionally oriented, open source, scenegraph based 3D Java engine for desktop and embedded environments, using JOGL for its hardware graphics acceleration. Fork of jMonkeyEngine 2.0. Cross-platform. License: [zlib](https://en.wikipedia.org/wiki/Zlib_License). 
-
6. Useful libraries
- Apache 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). 
- 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). 
- 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. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- HPPC - HPPC provides template-generated implementations of typical collections, such as lists, sets and maps, for all Java primitive types. The primary driving force behind HPPC is optimization for highest performance and memory efficiency. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Almanac Converter - An easy-to-use Java-based calendar converter - able to convert between various known calendars. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache DeltaSpike - DeltaSpike consists of a number of portable CDI extensions that provide useful features for Java application developers. We will also ensure true portability! We are testing DeltaSpike on different CDI implementations like Apache OpenWebBeans and JBoss Weld, and also on different Java EE servers like Apache Tomcat and TomEE, JBoss AS7, WildFly 8.x and 9.x, Oracle GlassFish 3.1+ and 4.x+, IBM WebSphere 8.x, Oracle WebLogic Server 12c, Jetty, and others. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) 
- Eclipse 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). 
- 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) 
- 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) 
- picocli - 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)
- 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) 
- 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). 
- Reactor - 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). 
- RSocket - 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) 
- Apache Shiro - 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). 
- 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). 
- Keycloak - 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). 
- 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: 
- Disruptor - Inter-thread messaging library. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Javolution - ibrary for real-time and embedded systems. License: [BSD 2](https://en.wikipedia.org/wiki/BSD_licenses#2-clause_license_.28.22Simplified_BSD_License.22_or_.22FreeBSD_License.22.29). 
- Koloboke - Hash sets and hash maps. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- 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 Log4j 2 - 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). 
- graylog - Open-source aggregator suited for extended role and permission management. License: [GNU 3](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
- 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). 
- tinylog - Lightweight logging framework with static logger class. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- 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). 
- 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). 
- Apache BVal - 2.0). 
- 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). 
- Elastic Kibana - Analyzes and visualizes log files. Some features require payment. 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). 
- HK2 - A light-weight and dynamic dependency injection framework. [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License)/ [CDDL 1.0](http://opensource.org/licenses/CDDL-1.0).
-
7. Imagery and Video
- Facebook Rebound - java-links/blob/master/img/business-friendly.png?raw=true)
- 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). 
- zxing - source, multi-format 1D/2D barcode image processing library implemented in Java, with ports to other languages. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/zxing/zxing). 
-
8. Code generation and changing byte code
- 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). 
- Byteman - Byteman is a tool which makes it easy to trace, monitor and test the behaviour of Java application and JDK runtime code. It injects Java code into your application methods or into Java runtime methods without the need for you to recompile, repackage or even redeploy your application. License: [LGPL 2.1](http://www.gnu.org/licenses/old-licenses/lgpl-2.1.ru.html). 
- Javassist - Javassist (Java Programming Assistant) makes Java bytecode manipulation simple. It is a class library for editing bytecodes in Java; it enables Java programs to define a new class at runtime and to modify a class file when the JVM loads it. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) or [LGPL or later 2.1](http://www.gnu.org/licenses/old-licenses/lgpl-2.1.ru.html) or [Mozilla Public License 1.1.](https://en.wikipedia.org/wiki/Mozilla_Public_License). 
-
9. Distributed Applications
- Akka - Akka is a toolkit and runtime for building highly concurrent, distributed, and resilient message-driven applications on the JVM. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache ZooKeeper - ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. All of these kinds of services are used in some form or another by distributed applications. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Alibaba Dubbo - 2.0) , [](https://github.com/alibaba/dubbo). 
- Axon Framework - The axon framework is focussed on making life easier for developers that want to create a java application based on the CQRS principles. The framework is used in a lot of environments. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Hazelcast - The Leading Open Source In-Memory Data Grid: Distributed Computing, Simplified. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- 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). 
- Hazelcast - The Leading Open Source In-Memory Data Grid: Distributed Computing, Simplified. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
-
10. Science
- DataMelt - DataMelt is a free mathematics software for scientists, engineers and students. It can be used for numeric computation, statistics, symbolic calculations, data analysis and data visualization. License: [GNU 3](https://en.wikipedia.org/wiki/GNU_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). 
- Michael Thomas Flanagan's Java Scientific Library - commercial use.
-
11. OSGI
- ACE - 2.0). 
- Aries - 2.0). 
- Felix - 2.0). 
- Equinox - v10.php) 
- Eclipse Virgo - powered applications. License: [EPL](https://www.eclipse.org/org/documents/epl-v10.php) 
-
-
III. Network and Integration
-
16. XML and SOAP
- Santuario - 2.0). 
- Xalan - J is an XSLT processor written in Java. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Xerces - J is a validating XML parser written in Java. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- XML Graphics - 2.0). 
- VXQuery - 2.0). 
- Apache Axis - 2.0). 
-
1. Servers (Web Server and Application Server)
- Jetty - Lightweight, small server, often embedded in projects. License: [Eclipse Public 1.0](https://www.eclipse.org/legal/epl-v10.html) / [Apache 2](http://www.apache.org/licenses/LICENSE-2.0).0, [](https://github.com/eclipse/jetty.project). 
- Apache TomEE - Tomcat plus Java EE. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- WebSphere Liberty - Lightweight, modular server developed by IBM. ***License: proprietary*** 
- Apache Geronimo - 2.0). 
- Apache James - 2.0). 
- WebSphere Liberty - Lightweight, modular server developed by IBM. ***License: proprietary*** 
- GlassFish - GlassFish - World's first Java EE 7 Application Server. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License) Or [CDDL 1.0](http://opensource.org/licenses/CDDL-1.0).
-
2. Networking
- Grizzly - NIO framework. Used as a network layer in Glassfish. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License) and [CDDL 1.1](https://en.wikipedia.org/wiki/CDDL).
- OkHttp - HTTP+SPDY client. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Undertow - Web server providing both blocking and non-blocking API’s based on NIO. Used as a network layer in WildFly. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache MINA - driven, asynchronous API over various transports such as TCP/IP and UDP/IP via Java NIO. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache HttpComponents - 2.0). 
- Grizzly - NIO framework. Used as a network layer in Glassfish. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License) and [CDDL 1.1](https://en.wikipedia.org/wiki/CDDL).
-
3. Message, message broker and message queue
- Apache ActiveMQ - Message broker that implements JMS and converts synchronous to asynchronous communication, License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache Camel - Glues together different transport APIs via Enterprise Integration Patterns, License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache Kafka - High-throughput distributed messaging system, License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Hermes - Fast and reliable message broker built on top of Kafka, License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- JBoss HornetQ - Clear, concise, modular and made to be embedded, License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache Qpid - 2.0). 
- Apache Synapse - 2.0). 
- Apache ServiceMix - source integration container that unifies the features and functionality of Apache ActiveMQ, Camel, CXF, and Karaf into a powerful runtime platform you can use to build your own integrations solutions. It provides a complete, enterprise ready ESB exclusively powered by OSGi. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache ActiveMQ - Message broker that implements JMS and converts synchronous to asynchronous communication, License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache Camel - Glues together different transport APIs via Enterprise Integration Patterns, License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
-
4. Http and ssh
- Square Okhttp - 2.0) , [](https://github.com/square/okhttp). 
- Mashape Unirest java - java.svg?style=social&label=Star&maxAge=2592000)](https://github.com/Mashape/unirest-java). 
-
5. Rest Frameworks
- RESTEasy - Fully certified and portable implementation of the JAX-RS specification. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- RestX - Framework based on annotation processing and compile-time source generation. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Spark - Sinatra inspired framework. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache Wink - RS specification. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache Olingo - 2.0). 
- Feign - HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
-
6. Integration frameworks
- Apache CXF - WS and JAX-RS. These services can speak a variety of protocols such as SOAP, XML/HTTP, RESTful HTTP, or CORBA and work over a variety of transports such as HTTP, JMS or JBI. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
-
8. Json
- Apache 2 - java-links/blob/master/img/business-friendly.png?raw=true)
- Gson - Serializes objects to JSON and vice versa. Good performance with on-the-fly usage, [](https://github.com/google/gson). [User guide](https://github.com/google/gson/blob/master/UserGuide.md) and [Hello World examples](https://github.com/Vedenin/useful-java-links/tree/master/helloworlds/3.8-json/gson)
- Square Moshi - java-links/tree/master/helloworlds/3.8-json/moshi). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) 
- Jackson - Similar to GSON but has performance gains if you need to instantiate the library more often. Subprojects: [Jackson core](https://github.com/FasterXML/jackson-core) Core part of Jackson, [Jackson databind](https://github.com/FasterXML/jackson-databind) Core part of Jackson that defines Streaming API as well as basic shared abstractions, [](https://github.com/FasterXML/jackson-core). [User guide](https://github.com/FasterXML/jackson-docs) and [Hello World examples](https://github.com/Vedenin/useful-java-links/tree/master/helloworlds/3.8-json/jackson). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Jayway JsonPath - started) and [Hello World examples](https://github.com/Vedenin/useful-java-links/tree/master/helloworlds/3.8-json/json_path). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
-
7. Web Crawling and HTML parsering
- Apache Nutch - Highly extensible, highly scalable web crawler for production environment. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
-
9. CSV
- opencsv - Simple CSV parser with a commercial-friendly license. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
-
10. Integratin with API
- Netflix Ice - 2.0) , [](https://github.com/Netflix/ice). 
- Alibaba RocketMQ - 2.0) , [](https://github.com/alibaba/RocketMQ). 
-
12. Clouds
- Apache CloudStack - 2.0). 
- Apache Stratos - extensible Platform-as-a-Service (PaaS) framework that helps run Apache Tomcat, PHP, and MySQL applications and can be extended to support many more environments on all major cloud infrastructures. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
-
14. Document Processing (XLS, DOC and PDF)
- Docx4j - 2.0). 
- Apache POI - Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- documents4j - API for document format conversion using third-party converters such as MS Word. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- jOpenDocument - Processes the OpenDocument format. License: [GNU](https://en.wikipedia.org/wiki/GNU_General_Public_License) or proprietary.  and 
- Apache FOP - Creates PDF from XSL-FO. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache PDFBox - Toolbox for creating and manipulating PDF. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- DynamicReports - Simplifies JasperReports. License: [GNU Lesser 3](https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License). 
- iText - Creates PDF files programmatically but current versions require a license for commercial purposes. License: [AGPL](https://en.wikipedia.org/wiki/Affero_General_Public_License) or proprietary.  or . However, versions upto 4.2.0 were licensed under the business-friendly LGPL. From 2.1.7 the version jumped to the 4 series, one of the main changes was a renaming of the packages. These two versions are available in several repositories on github, see for example: [iText 4.2.0](https://github.com/ymasory/iText-4.2.0) and [iText 2.1.7](https://github.com/hwinkler/itext2). The jars can be downloaded from [Maven Central.](https://mvnrepository.com/artifact/com.lowagie/itext/2.1.7). iText 2.1.7 and iText 4.2.0 are available under a . The book iText in Action 2nd Edition, from Manning, was written around the time of these LGPL versions. If you are making any contributions to iText please make them to these LGPL repositories on GitHub.
- JasperReports - Complex reporting engine. License: [GNU Lesser](https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License). 
- Apache Tika - 2.0). 
- JasperReports - Complex reporting engine. License: [GNU Lesser](https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License). 
-
13. Cluster Management
- Apache Aurora - Apache Aurora is a Mesos framework for long-running services and cron jobs. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Singularity - Singularity is a Mesos framework that makes deployment and operations easy. It supports web services, background workers, scheduled jobs, and one-off tasks. License: **?**.
- Apache Helix - 2.0). 
- Apache Helix - 2.0). 
- Apache Airavata - based science gateways and assist to compose, manage, execute, and monitor large scale applications (wrapped as Web based services) and workflows composed of these services. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
-
17. Geospatial Service Interation
- Apache SIS - Library for developing geospatial applications. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Geotoolkit.org - Library for developing geospatial applications. Built on top of the Apache SIS project. License: [GNU Lesser 2.1](http://www.geotoolkit.org/license.html). 
- GeoTools - Library that provides tools for geospatial data. License: [GNU Lesser 2.1](http://www.gnu.org/licenses/lgpl-2.1.html). 
- H2GIS - A spatial extension of the H2 database. License: [GPL 3](http://www.gnu.org/copyleft/gpl.html). 
- Jgeohash - Library that can assist Java developers in using the GeoHash algorithm. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- JTS Topology Suite - An API of 2D spatial predicates and functions. License: [GNU Lesser 3](http://www.gnu.org/copyleft/lesser.html). 
-
18. Reverse Proxy Servers
- Membrane Service Proxy - 2.0) , [](https://github.com/membrane/service-proxy). 
-
-
II. Databases, search engines, big data and machine learning
-
1. Databases and storages
- H2 - Welcome to H2, the Java SQL database. The main features of H2 are: Very fast, open source, JDBC API, Embedded and server modes; in-memory databases, Browser based Console application,Small footprint: around 1.5 MB jar file size License: [Mozilla Public License 1.1.](https://en.wikipedia.org/wiki/Mozilla_Public_License) and [Eclipse Public License v1.0](https://en.wikipedia.org/wiki/Eclipse_Public_License). 
- Apache Derby - Apache Derby, an Apache DB subproject, is an open source relational database implemented entirely in Java. Derby provides an embedded JDBC driver that lets you embed Derby in any Java-based solution. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache Empire-db - db is a lightweight relational database abstraction layer and data persistence component. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache Ignite - Memory Data Fabric providing in-memory data caching, partitioning, processing, and querying components. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache HBase - Apache HBase is an open-source, distributed, versioned, non-relational database modeled after Google's Bigtable: A Distributed Storage System for Structured Data by Chang et al. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Druid - Druid is a fast column-oriented distributed data store. http://druid.io License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0), [](https://github.com/druid-io/druid). 
- Infinispan - Infinispan is a distributed in-memory key/value data store with optional schema. It can be used both as an embedded Java library and as a language-independent service accessed remotely over a variety of protocols (HotRod, REST, Memcached and WebSockets). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Infinispan - Infinispan is a distributed in-memory key/value data store with optional schema. It can be used both as an embedded Java library and as a language-independent service accessed remotely over a variety of protocols (HotRod, REST, Memcached and WebSockets). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
-
2. Data structures
- Apache Avro - Apache Avro is a data serialization system. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache Orc - The smallest, fastest columnar storage for Hadoop workloads. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache Parquet - Apache Parquet is a columnar storage format available to any project in the Hadoop ecosystem, regardless of the choice of data processing framework, data model or programming language. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache Thrift - The Apache Thrift software framework, for scalable cross-language services development, combines a software stack with a code generation engine to build services that work efficiently and seamlessly between C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, OCaml and Delphi and other languages. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Persistent Collection - PCollections serves as a persistent and immutable analogue of the Java Collections Framework. License: [MIT](https://opensource.org/licenses/MIT). 
- Protobuf - Protocol Buffers (a.k.a., protobuf) are Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data. License: [BSD 3](https://en.wikipedia.org/wiki/BSD_licenses). 
-
3. Search engines
- Lemur Project - java-links/blob/master/img/business-friendly.png?raw=true)
-
4. Client and drivers for databases
- Jedis - java-links/blob/master/img/business-friendly.png?raw=true)
- Mongodb Morphia - document mapper in Java based on. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/mongodb/morphia). 
- Redisson - distributed Java objects (Bloom filter, BitSet, Set, SetMultimap, ScoredSortedSet, SortedSet, Map, ConcurrentMap, List, ListMultimap, Queue, BlockingQueue, Deque, BlockingDeque, Semaphore, Lock, ReadWriteLock, AtomicLong, CountDownLatch, Publish / Subscribe, HyperLogLog), Redis pipelining on top of Redis server. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/mrniko/redisson). 
- Apache Phoenix - Apache Phoenix enables OLTP and operational analytics in Hadoop for low latency applications by combining the best of both worlds, License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- dbeaver - Free universal database manager and SQL client. http://dbeaver.jkiss.org. , [](https://github.com/serge-rider/dbeaver). License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
- Redisson - distributed Java objects (Bloom filter, BitSet, Set, SetMultimap, ScoredSortedSet, SortedSet, Map, ConcurrentMap, List, ListMultimap, Queue, BlockingQueue, Deque, BlockingDeque, Semaphore, Lock, ReadWriteLock, AtomicLong, CountDownLatch, Publish / Subscribe, HyperLogLog), Redis pipelining on top of Redis server. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/mrniko/redisson). 
-
5. ORM
- Vibur DBCP - Concurrent, fast, and fully-featured JDBC connection pool, which provides a non-starvation guarantee for application threads, statement caching, slow SQL queries detection and logging, and Hibernate integration, among other features. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Ebean - Ebean ORM for Java/Kotlin.Fast and simple data access on the JVM. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- EclipseLink - Comprehensive open-source Java persistence solution addressing relational, XML, and database web services. License: [Eclipse Public License v1.0](https://en.wikipedia.org/wiki/Eclipse_Public_License) and [BSD 3](https://en.wikipedia.org/wiki/BSD_licenses). 
- OrmLite - Object Relational Mapping Lite (ORM Lite) provides some simple, lightweight functionality for persisting Java objects to SQL databases while avoiding the complexity and overhead of more standard ORM packages. License: [ISC](https://en.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_ISC). 
- Apache Cayenne - friendly Java ORM with tools. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache OpenJPA - 2.0). 
-
6. Working with messy data
- Apache Incubator Zeppelin - based notebook that enables interactive data analytics. You can make beautiful data-driven, interactive and collaborative documents with SQL, Scala and more. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/apache/incubator-zeppelin). 
- Apache UIMA - 2.0). 
-
7. Big data
- Cloudera Oryx - time large-scale machine learning / predictive analytics infrastructure. It implements a few classes of algorithm commonly used in business applications: collaborative filtering / recommendation, classification / regression, and clustering. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/cloudera/oryx). 
- Curator - 2.0). 
- Apache Hama - purpose BSP computing engine. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache Falcon - 2.0). 
- Apache Flume - 2.0). 
- Apache Tajo - scale data sets. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache Tez - acyclic graphs (DAGs) of data-processing tasks and also a re-usable set of data-processing primitives which can be used by other projects. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache REEF - out computing fabric that eases the development of Big Data applications on top of resource managers such as Apache YARN and Mesos. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache Pig - 2.0). 
- Druid - 2.0) , [](https://github.com/druid-io/druid). 
- Apache Ambari - to-use Hadoop management web UI backed by its RESTful APIs. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Facebook Presto - 2.0) , [](https://github.com/facebook/presto). 
- Apache Accumulo - based access control and a server-side programming mechanism that can modify key/value pairs at various points in the data management process. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache Gora - memory data model and persistence for big data. Gora supports persisting to column stores, key value stores, document stores and RDBMSs, and analyzing the data with extensive Apache Hadoop MapReduce support. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Giraph - java-links/blob/master/link-rus/img/good-proprietary.png?raw=true)
- Apache Chukwa - 2.0). 
- Apache Bigtop - 2.0). 
- Apache BookKeeper - 2.0). 
- Apache Crunch - 2.0). 
- Apache MRUnit - 2.0). 
- Apache Oozie - 2.0). 
- Apache Knox - 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). 
- Apache MetaModel - 2.0). 
-
8. Machine Learning
- Apache Spark - Apache Spark™ is a fast and general engine for large-scale data processing. Subproject: [MLlib](http://spark.apache.org/docs/latest/mllib-guide.html). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- DeepDive - DeepDive is a system to extract value from dark data. Like dark matter, dark data is the great mass of data buried in text, tables, figures, and images, which lacks structure and so is essentially unprocessable by existing software. License: [Creative Commons Attribution 4.0](http://creativecommons.org/licenses/by/4.0/). 
- Weka - Weka is a collection of machine learning algorithms for data mining tasks. The algorithms can either be applied directly to a dataset or called from your own Java code. Weka contains tools for data pre-processing, classification, regression, clustering, association rules, and visualization. It is also well-suited for developing new machine learning schemes. License: [GNU](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
- Protégé - A free, open-source ontology editor and framework for building intelligent systems. License: [BSD 2](https://en.wikipedia.org/wiki/BSD_licenses#2-clause_license_.28.22Simplified_BSD_License.22_or_.22FreeBSD_License.22.29). 
- JAVA-ML - Java Machine Learning Library (Java-ML). License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
- JSAT - Numerous Machine Learning algorithms for classification, regression, and clustering. License: [GNU 3](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
- Meka - An open source implementation of methods for multi-label classification and evaluation (extension to Weka). License: [GNU](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
- Neuroph - Neuroph is lightweight Java neural network framework. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache SystemML - flexible, scalable machine learning (ML) language. (incubator project). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- wAlnut - Object oriented model of partial human brain with 1 theorized common learning algorithm. Work in progress towards a strong emotional AI. License: [GNU 3](https://en.wikipedia.org/wiki/GNU_General_Public_License) 
- Apache Jena - 2.0). 
- Choco - Choco is a Free and Open-Source Software dedicated to Constraint Programming. It aims at describing hard combinatorial problems in the form of Constraint Satisfaction Problems and solving them with Constraint Programming techniques. License: [BSD](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). 
- OptaPlanner - OptaPlanner is a constraint satisfaction solver. It optimizes business resource planning. Every organization faces scheduling puzzles: assign a limited set of constrained resources (employees, assets, time and money) to provide products or services to customers. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Sat4J - Sat4j is a java library for solving boolean satisfaction and optimization problems. It can solve SAT, MAXSAT, Pseudo-Boolean, Minimally Unsatisfiable Subset (MUS) problems. License: [GNU Lesser 3](https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License) and [Eclipse Public 1.0](https://www.eclipse.org/legal/epl-v10.html). 
- Apache OpenNLP - The Apache OpenNLP library is a machine learning based toolkit for the processing of natural language text. [Hello World examples](https://github.com/Vedenin/useful-java-links/tree/master/helloworlds/2.8-natural-language-processing/opennlp). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- LingPipe - LingPipe is tool kit for processing text using computational linguistics. License: [AGPL](https://www.gnu.org/licenses/agpl-3.0.html) or ***License: proprietary***.  or 
- Mallet - MALLET is a Java-based package for statistical natural language processing, document classification, clustering, topic modeling, information extraction, and other machine learning applications to text. License: [Eclipse Public License v1.0](https://en.wikipedia.org/wiki/Eclipse_Public_License). 
- Twitter Text Libraries - This repo is a collection of libraries and conformance tests to standardize parsing of tweet text. It synchronizes development, testing, creating issues, and pull requests for twitter-text's implementations and specification. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Joshua - source statistical machine translation decoder for phrase-based (new in 6.0), hierarchical, and syntax-based machine translation, written in Java. It is developed at the Human Language Technology Center of Excellence at Johns Hopkins University. License: [BSD 2](https://github.com/joshua-decoder/joshua/blob/master/LICENSE). 
- Z-MERT - MERT is a software tool for minimum error rate training of machine translation systems. License: [GNU Lesser General Public License (LGPL)](http://www.gnu.org/licenses/lgpl-3.0.en.html). 
- Apache cTAKES - Apache cTAKES™ is a natural language processing system for extraction of information from electronic medical record clinical free-text. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- The Stanford Natural Language Processing Group - A Natural Language Processing Java software tools. Subproject: [Stanford Parser](http://nlp.stanford.edu/software/lex-parser.html) - A statistical parser, [Stanford POS Tagger](http://nlp.stanford.edu/software/tagger.html), [Stanford Named Entity Recognizer](http://nlp.stanford.edu/software/CRF-NER.html), [RegexNER](http://nlp.stanford.edu/software/regexner.html),
- Word Segmenter - based Information Extraction and Diagnostics](http://nlp.stanford.edu/software/patternslearning.html),[Stanford Relation Extractor](http://nlp.stanford.edu/software/relationExtractor.html). License: [GNU 2/3](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
- CMU Sphinx - Open Source Speech Recognition Toolkit. License: [BSD 2](https://en.wikipedia.org/wiki/BSD_licenses#2-clause_license_.28.22Simplified_BSD_License.22_or_.22FreeBSD_License.22.29). 
- Apache Marmotta - 2.0). 
- Weka - Weka is a collection of machine learning algorithms for data mining tasks. The algorithms can either be applied directly to a dataset or called from your own Java code. Weka contains tools for data pre-processing, classification, regression, clustering, association rules, and visualization. It is also well-suited for developing new machine learning schemes. License: [GNU](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
- Weka - Weka is a collection of machine learning algorithms for data mining tasks. The algorithms can either be applied directly to a dataset or called from your own Java code. Weka contains tools for data pre-processing, classification, regression, clustering, association rules, and visualization. It is also well-suited for developing new machine learning schemes. License: [GNU](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
-
-
IV. Testing
-
1. Testing
- Fitnesse - alone acceptance testing framework and wiki.. License: [CPL-1.0](https://opensource.org/licenses/cpl1.0.php), [](https://github.com/unclebob/fitnesse).
- Sikuli - java-links/blob/master/img/business-friendly.png?raw=true)
- Wiremock - 2.0) , [](https://github.com/tomakehurst/wiremock). 
- Galenframework Galen - 2.0) , [](https://github.com/galenframework/galen). 
- Wiremock - 2.0) , [](https://github.com/tomakehurst/wiremock). 
- AssertJ - 2.0) , [](https://github.com/joel-costigliola/assertj-core). 
- Awaitility - DSL for synchronizing asynchronous operations. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Citrus - Integration testing framework with focus on client- and serverside messaging. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Gatling - Load testing tool designed for ease of use, maintainability and high performance. License: [MIT](https://opensource.org/licenses/MIT). 
- GreenMail - In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- PIT - Fast mutation-testing framework for evaluating fault-detection abilities of existing JUnit or TestNG test-suites. License: [Creative Commons License](http://creativecommons.org/licenses/by-nc-sa/3.0/).
- PowerMock - Enables mocking of static methods, constructors, final classes and methods, private methods and removal of static initializers. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Selenide - Concise API around Selenium to write stable and readable UI tests. License: [MIT](https://opensource.org/licenses/MIT). 
- Unitils - Modular testing library for unit and integration testing. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Google truth - 2.0) , [](https://github.com/google/truth). 
- Apache JMeter - Functional testing and performance measurements. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Arquillian - Integration and functional testing platform for Java EE containers. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Awaitility - DSL for synchronizing asynchronous operations. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Citrus - Integration testing framework with focus on client- and serverside messaging. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Gatling - Load testing tool designed for ease of use, maintainability and high performance. License: [MIT](https://opensource.org/licenses/MIT). 
- GreenMail - In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. License: [MIT](https://opensource.org/licenses/MIT). 
- JGiven - Developer-friendly BDD testing framework compatible with JUnit and TestNG. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- PIT - Fast mutation-testing framework for evaluating fault-detection abilities of existing JUnit or TestNG test-suites. License: [Creative Commons License](http://creativecommons.org/licenses/by-nc-sa/3.0/).
- PowerMock - Enables mocking of static methods, constructors, final classes and methods, private methods and removal of static initializers. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- REST Assured - Java DSL for easy testing for REST/HTTP services. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Selenide - Concise API around Selenium to write stable and readable UI tests. License: [MIT](https://opensource.org/licenses/MIT). 
- Unitils - Modular testing library for unit and integration testing. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- SeLion - Enabling Test Automation in Java. SeLion builds on top of TestNG and Selenium to provide a set of capabilities that get you up and running with WebDriver in a short time. It can be used for testing web and mobile applications, [](https://github.com/paypal/SeLion). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- cdp4j - Web-automation library for Java. It can be used for automating the use of web pages and for testing web pages. [](https://github.com/webfolderio/cdp4j) License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
-
2. Code Coverage
- JaCoCo - Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation; prominently used by EclEmma, the Eclipse code-coverage plugin. License: [Eclipse Public License v1.0](https://en.wikipedia.org/wiki/Eclipse_Public_License), [Apache 2](http://www.apache.org/licenses/LICENSE-2.0), [BSD](https://en.wikipedia.org/wiki/BSD_licenses). 
- Clover - Proprietary code coverage tool by Atlassian that relies on source-code instrumentation, instead of bytecode instrumentation. ***License: proprietary*** 
- Cobertura - Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
- JCov - Code coverage tool used in the OpenJDK project's development toolchain. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
- JaCoCo - Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation; prominently used by EclEmma, the Eclipse code-coverage plugin. License: [Eclipse Public License v1.0](https://en.wikipedia.org/wiki/Eclipse_Public_License), [Apache 2](http://www.apache.org/licenses/LICENSE-2.0), [BSD](https://en.wikipedia.org/wiki/BSD_licenses). 
- Clover - Proprietary code coverage tool by Atlassian that relies on source-code instrumentation, instead of bytecode instrumentation. ***License: proprietary*** 
- JCov - Code coverage tool used in the OpenJDK project's development toolchain. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
- JCov - Code coverage tool used in the OpenJDK project's development toolchain. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
-
3. Continuous Integration
- Bamboo - Atlassian's solution with good integration of their other products. You can either apply for an open-source license or buy it. 
- CircleCI - Hosted service with a free trial. 
- Codeship - Hosted services with a limited free plan. 
- Bamboo - Atlassian's solution with good integration of their other products. You can either apply for an open-source license or buy it. 
- CircleCI - Hosted service with a free trial. 
- Codeship - Hosted services with a limited free plan. 
- fabric8 - Integration platform for containers. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Jenkins - Provides server-based deployment services. License: [MIT](https://opensource.org/licenses/MIT). 
- TeamCity - JetBrain's CI solution with a free version. **License: proprietary** 
- Travis - Hosted service often used for open-source projects. License: ?
- Hudson - Hudson monitors the execution of repeated jobs, such as building a software project or jobs run by cron. Currently Hudson focuses on the following two jobs: Building/testing software projects continuously and Monitoring executions of externally-run jobs. License: [Eclipse Public License v1.0](https://en.wikipedia.org/wiki/Eclipse_Public_License). 
- fabric8 - Integration platform for containers. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Jenkins - Provides server-based deployment services. License: [MIT](https://opensource.org/licenses/MIT). 
- TeamCity - JetBrain's CI solution with a free version. **License: proprietary** 
- Travis - Hosted service often used for open-source projects. License: ?
- Hudson - Hudson monitors the execution of repeated jobs, such as building a software project or jobs run by cron. Currently Hudson focuses on the following two jobs: Building/testing software projects continuously and Monitoring executions of externally-run jobs. License: [Eclipse Public License v1.0](https://en.wikipedia.org/wiki/Eclipse_Public_License). 
- Apache Continuum - ready continuous integration server with features such as automated builds, release management, role-based security, and integration with popular build tools and source control management systems.. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
-
4. Formal Verification
- Checker Framework - Pluggable type systems. Includes nullness types, physical units, immutability types and more. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
- Daikon - Daikon detects likely program invariants and can generate JML specs based on those invariats. License: [GNU](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
- Java Modeling Language (JML) - Behavioral interface specification language that can be used to specify the behavior of code modules. It combines the design by contract approach of Eiffel and the model-based specification approach of the Larch family of interface specification languages, with some elements of the refinement calculus. Used by several other verification tools. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
- Java Path Finder (JPF) - JVM formal verification tool containing a model checker and more. Created by NASA. License: [NASA OPEN SOURCE AGREEMENT VERSION 1.3](http://javapathfinder.sourceforge.net/NOSA-1.3-JPF.txt)
- jCUTE - Concolic unit testing engine that automatically generates unit tests. Concolic execution combines randomized concrete execution with symbolic execution and automatic constraint solving. **License: proprietary.** 
- JMLOK 2.0 - Detects nonconformances between code and JML specification through the feedback-directed random tests generation, and suggests a likely cause for each nonconformance detected. License: [GNU 3](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
- Checker Framework - Pluggable type systems. Includes nullness types, physical units, immutability types and more. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
- Daikon - Daikon detects likely program invariants and can generate JML specs based on those invariats. License: [GNU](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
- Java Modeling Language (JML) - Behavioral interface specification language that can be used to specify the behavior of code modules. It combines the design by contract approach of Eiffel and the model-based specification approach of the Larch family of interface specification languages, with some elements of the refinement calculus. Used by several other verification tools. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
- JMLOK 2.0 - Detects nonconformances between code and JML specification through the feedback-directed random tests generation, and suggests a likely cause for each nonconformance detected. License: [GNU 3](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
- KeY - The KeY System is a formal software development tool that aims to integrate design, implementation, formal specification, and formal verification of object-oriented software as seamlessly as possible. Uses JML for specification and symbolic execution for verification. License: [GNU](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
- OpenJML - Translates JML specifications into SMT-LIB format and passes the proof problems implied by the program to backend solvers. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License) and [Eclipse Public License v1.0](https://en.wikipedia.org/wiki/Eclipse_Public_License). 
- OpenJML - Translates JML specifications into SMT-LIB format and passes the proof problems implied by the program to backend solvers. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License) and [Eclipse Public License v1.0](https://en.wikipedia.org/wiki/Eclipse_Public_License). 
-
-
VII. Other
-
1. Source code examples
- Java Micro code pieces - community library of micro Java code solutions for popular issues.
- Spring projects Spring mvc showcase - 2.0) , [](https://github.com/spring-projects/spring-mvc-showcase). 
- Javaee7 samples - samples/javaee7-samples.svg?style=social&label=Star&maxAge=2592000)](https://github.com/javaee-samples/javaee7-samples).
- Spring petclinic - based application. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/spring-projects/spring-petclinic). 
- Java algorithms implementation - 2.0) , [](https://github.com/phishman3579/java-algorithms-implementation). 
- Jboss developer Jboss eap quickstarts - 2.0) , [](https://github.com/jboss-developer/jboss-eap-quickstarts). 
- Databricks Learning spark - spark.svg?style=social&label=Star&maxAge=2592000)](https://github.com/databricks/learning-spark). 
- Algorithms - 2.0) , [](https://github.com/pedrovgs/Algorithms). 
- WikiSort
- Spring integration samples - 2.0) , [](https://github.com/spring-projects/spring-integration-samples). 
- Java Micro code pieces - community library of micro Java code solutions for popular issues.
-
3. Working with git and github
- Gitblit - and-running with an attractive, capable Git server in less than 5 minutes.. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/gitblit/gitblit). 
-
2. Benchmark results
- YCSB (Yahoo! Cloud Serving Benchmark) - Yahoo! Cloud Serving Benchmark. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/brianfrankcooper/YCSB). 
-
-
V. Tools for developing
-
1. IDE
- JetBrains Ideavim - in for IDEs based on the IntelliJ platform. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License), [](https://github.com/JetBrains/ideavim). 
- Rstudio - 3.0.en.html), [](https://github.com/rstudio/rstudio). 
- Vrapper - like editing in Eclipse. License: [GNU 3](https://en.wikipedia.org/wiki/GNU_General_Public_License).0, [](https://github.com/vrapper/vrapper). 
- Eclipse themes - v10.html), [](https://github.com/jeeeyul/eclipse-themes). 
- Eclipse color theme - v10.html), [](https://github.com/eclipse-color-theme/eclipse-color-theme). 
- Eclim - java-links/blob/master/img/impossible-proprietary-code-linking.png?raw=true)
- Eclipse - Established, open-souce project with support for lots of plugins and languages. License: [Eclipse Public License v1.0](https://en.wikipedia.org/wiki/Eclipse_Public_License). 
- NetBeans - Provides integration for several Java SE and EE features from database access to HTML5. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License) and [CDDL 1.0](http://opensource.org/licenses/CDDL-1.0)
- JetBrains MPS - 2.0) , [](https://github.com/JetBrains/MPS). 
- Idea markdown - 2.0) , [](https://github.com/nicoulaj/idea-markdown). 
- Eclipse - Established, open-souce project with support for lots of plugins and languages. License: [Eclipse Public License v1.0](https://en.wikipedia.org/wiki/Eclipse_Public_License). 
- NetBeans - Provides integration for several Java SE and EE features from database access to HTML5. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License) and [CDDL 1.0](http://opensource.org/licenses/CDDL-1.0)
-
2. Deploy, config and build
- Apache Maven - Declarative build and dependency management which favors convention over configuration. It might be preferable to Apache Ant which uses a rather procedural approach and can be difficult to maintain. http://maven.apache.org License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/apache/maven). 
- Apache Ant - pache Ant is a Java library and command-line tool whose mission is to drive processes described in build files as targets and extension points dependent upon each other. Subproject: [Apache AntUnit](https://projects.apache.org/project.html?ant-antunit) - testing Ant task, [Apache Compress Ant Library](https://projects.apache.org/project.html?ant-compress) - support additional archive formats, [Apache Ivy](https://projects.apache.org/project.html?ant-ivy) - very powerful dependency manager, [Apache IvyDE](https://projects.apache.org/project.html?ant-ivyde) - IvyDE plugin for Eclipse. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache Ant - pache Ant is a Java library and command-line tool whose mission is to drive processes described in build files as targets and extension points dependent upon each other. Subproject: [Apache AntUnit](https://projects.apache.org/project.html?ant-antunit) - testing Ant task, [Apache Compress Ant Library](https://projects.apache.org/project.html?ant-compress) - support additional archive formats, [Apache Ivy](https://projects.apache.org/project.html?ant-ivy) - very powerful dependency manager, [Apache IvyDE](https://projects.apache.org/project.html?ant-ivyde) - IvyDE plugin for Eclipse. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Archiva Apache - wide build artifact repository. It is the perfect companion for build tools such as Maven, Continuum, and ANT. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- config - Configuration library for JVM languages. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/typesafehub/config). 
- owner - Reduces boilerplate of properties. License: [BSD 3](https://en.wikipedia.org/wiki/BSD_licenses). 
- Archiva Apache - wide build artifact repository. It is the perfect companion for build tools such as Maven, Continuum, and ANT. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- owner - Reduces boilerplate of properties. License: [BSD 3](https://en.wikipedia.org/wiki/BSD_licenses). 
- Apache Yetus - 2.0). 
- Bintray - Version control for binaries which handles the publishing. Can also be used with Maven or Gradle and has a free plan for open-source software or several business plans. **License: proprietary** 
- Central Repository - Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven and available in all other build tools. **License: proprietary** 
- IzPack - Setup authoring tool for cross-platform deployments. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/izpack/izpack)). 
- JitPack - Easy to use package repository for GitHub. Builds Maven/Gradle projects on demand and publishes ready-to-use packages. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/jitpack/jitpack.io)). 
- Launch4j - Wraps JARs in lightweight and native Windows executables. License: [BSD 3](https://en.wikipedia.org/wiki/BSD_licenses) or [MIT](https://opensource.org/licenses/MIT). 
- Nexus - Binary management with proxy and caching capabilities. **License: proprietary** 
- packr - Packs JARs, assets and the JVM for native distribution on Windows, Linux and Mac OS X. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Spotify Helios - 2.0) , [](https://github.com/spotify/helios). 
- Apache Yetus - 2.0). 
- Central Repository - Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven and available in all other build tools. **License: proprietary** 
-
3. Perfomance tools
- Square Leakcanary - 2.0) , [](https://github.com/square/leakcanary). 
- Naver Pinpoint - scale distributed systems written in Java. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/naver/pinpoint). 
- Square Leakcanary - 2.0) , [](https://github.com/square/leakcanary). 
- Naver Pinpoint - scale distributed systems written in Java. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/naver/pinpoint). 
- JMH - Microbenchmarking tool for the JVM. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
- VisualVM - Visual interface for detailed information about running applications. License: [GNU 2 with the Classpath Exception](https://en.wikipedia.org/wiki/GNU_General_Public_License).
- YourKit Java Profiler - Commercial profiler. **License: proprietary**
- XRebel - A commercial profiler for Java Web applications. **License: proprietary**
- JMH - Microbenchmarking tool for the JVM. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
- YourKit Java Profiler - Commercial profiler. **License: proprietary**
- JProfiler - Commercial profiler. **License: proprietary**
- XRebel - A commercial profiler for Java Web applications. **License: proprietary**
- JMH - Microbenchmarking tool for the JVM. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
-
4. Code Analysis
- SonarQube - java-links/blob/master/img/business-friendly.png?raw=true)
- OpenGrok
- CDDL 1.0
- SonarQube - java-links/blob/master/img/business-friendly.png?raw=true)
- CDDL 1.0
- FindBugs - Static analysis of bytecode to find potential bugs. License: [GNU Lesser](https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License). 
- jQAssistant - Static code analysis with Neo4J-based query language. License: [GNU 3](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
- FindBugs - Static analysis of bytecode to find potential bugs. License: [GNU Lesser](https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License). 
- jQAssistant - Static code analysis with Neo4J-based query language. License: [GNU 3](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
-
5. Monitoring
- AppDynamics - Commercial performance monitor. **License: proprietary** 
- New Relic - Commercial performance monitor. **License: proprietary** 
- SPM - Commercial performance monitor with distributing transaction tracing for JVM apps. **License: proprietary**
- OverOps - Root cause automation in production. **License: proprietary** 
- Dynamic Code Evolution Virtual Machine (DCE VM) - The Dynamic Code Evolution Virtual Machine (DCE VM) is a modification of the Java HotSpot(TM) VM that allows unlimited redefinition of loaded classes at runtime. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License)
- JRebel - Reload code changes instantly. Skip the build and redeploy process. JRebel reloads changes to Java classes, resources, and over 90 frameworks. *License: proprietary*
- AppDynamics - Commercial performance monitor. **License: proprietary** 
- jmxtrans - Tool to connect to multiple JVMs and to query them for their attributes via JMX. Its query language is based on JSON, which allows non-Java programmers to access the JVMs attributes. Likewise, this tool supports different output writes, including Graphite, Ganglia, StatsD, among others. License: [MIT](https://opensource.org/licenses/MIT). 
- Kamon - Tool for monitoring applications running on the JVM. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Glowroot - Open source Java APM. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- New Relic - Commercial performance monitor. **License: proprietary** 
- SPM - Commercial performance monitor with distributing transaction tracing for JVM apps. **License: proprietary**
- OverOps - Root cause automation in production. **License: proprietary** 
- Dynamic Code Evolution Virtual Machine (DCE VM) - The Dynamic Code Evolution Virtual Machine (DCE VM) is a modification of the Java HotSpot(TM) VM that allows unlimited redefinition of loaded classes at runtime. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License)
- DCEVM - This project is a fork of original DCEVM project. The purpose of the project is to maintain enhanced class redefinition functionality for OpenJDK HotSpot 7/8 and Oracle JVM. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License)
- JRebel - Reload code changes instantly. Skip the build and redeploy process. JRebel reloads changes to Java classes, resources, and over 90 frameworks. *License: proprietary*
- Spring Loaded - Java agent that enables class reloading in a running JVM. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0)
-
8. Other
- Chocotea: - 2.0) , [](https://github.com/cleopatra27/chocotea).
- Chocotea: - 2.0) , [](https://github.com/cleopatra27/chocotea).
- JDK 9 - Early access releases of JDK 9. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
- Zulu OpenJDK - OpenJDK builds for Windows, Linux, and Mac OS X through Java 8. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
- Zulu OpenJDK - OpenJDK builds for Windows, Linux, and Mac OS X through Java 8. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
- Zulu OpenJDK 9 - Early access OpenJDK 9 builds for Windows, Linux, and Mac OS X. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
- OpenJDK - Open-source implementation for Linux. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
-
7. Documentation
- Markdown-doclet: - 3.0-standalone.html), [](https://github.com/Abnaxos/markdown-doclet). 
-
-
VI. Program languages and applications that were written with Java
-
4. Frameworks that help to create parsers, interpreters or compilers
- JavaCC - More specific and slightly easier to learn. Has syntactic lookahead. License: [BSD ](https://en.wikipedia.org/wiki/BSD_licenses). 
- ANTLR - Complex full-featured framework for top-down parsing. License: [BSD 2](https://en.wikipedia.org/wiki/BSD_licenses). 
- ANTLR - Complex full-featured framework for top-down parsing. License: [BSD 2](https://en.wikipedia.org/wiki/BSD_licenses). 
-
1. Program languages that were written with Java
- Gocd - 2.0) , [](https://github.com/gocd/gocd). 
- Jphp compiler Jphp - 2.0) , [](https://github.com/jphp-compiler/jphp). 
- Clojure - 2.0) , [](https://github.com/clojure/clojure). 
- JetBrains Kotlin - 2.0) , [](https://github.com/JetBrains/kotlin). 
- Jphp compiler Jphp - 2.0) , [](https://github.com/jphp-compiler/jphp). 
-
2. Other program languages tools that were written with Java
- Pysonar2 - 3.0.en.html) [GNU AGPLv3](http://www.gnu.org/licenses/agpl-3.0.en.html), [](https://github.com/yinwang0/pysonar2). 
- Go lang idea plugin - 2.0) , [](https://github.com/go-lang-plugin-org/go-lang-idea-plugin). 
- Processing js - js.svg?style=social&label=Star&maxAge=2592000)](https://github.com/jeresig/processing-js). 
-
3. Javascript
- Dynjs - 2.0) , [](https://github.com/dynjs/dynjs). 
-
5. Opensource applications that were written with Java
- Jitsi - 2.0) , [](https://github.com/jitsi/jitsi). 
- Glyptodon Guacamole client - The HTML5/JavaScript Guacamole client, its containing web application, and related components. License: [MIT](https://opensource.org/licenses/MIT) , [](https://github.com/glyptodon/guacamole-client). 
- Bateman - Simple stock trading system that optimizes its parameters with particle swarm optimization. License: [MIT](https://opensource.org/licenses/MIT) , [](https://github.com/fearofcode/bateman). 
- Seyren - 2.0) , [](https://github.com/scobal/seyren). 
- Ttorrent - 2.0) , [](https://github.com/mpetazzoni/ttorrent). 
- KeyBox - based SSH console that centrally manages administrative access to systems. Web-based administration is combined with management and distribution of user's public SSH keys. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/skavanagh/KeyBox). 
- Netflix Servo - 2.0) , [](https://github.com/Netflix/servo). 
- Java repl - Java REPL is a simple Read-Eval-Print-Loop for Java language. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/albertlatacz/java-repl). 
- Apache OpenMeetings - 2.0). 
- Apache OpenMeetings - 2.0). 
-
6. Opensource games that were written with Java
- Bukkit - java-links/blob/master/img/impossible-proprietary-code-linking.png?raw=true)
- MovingBlocks Terasology - open source voxel world. The Terasology project was born from a Minecraft-inspired tech demo and is becoming a stable platform for various types of gameplay settings in a voxel world. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/MovingBlocks/Terasology). 
- SpongePowered Sponge - java-links/blob/master/img/business-friendly.png?raw=true)
- BuildCraft - 2.0) , [](https://github.com/BuildCraft/BuildCraft). 
- SpongePowered SpongeAPI - 2.0) , [](https://github.com/SpongePowered/SpongeAPI). 
- WorldEdit - game voxel map editor for Minecraft. License: [GNU Lesser 3](https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License), [](https://github.com/sk89q/WorldEdit). 
- Essentials - Minecraft server command mod - Adds over 100 commands for use in-game to help manage a server. License: [GNU 3](https://en.wikipedia.org/wiki/GNU_General_Public_License), [](https://github.com/essentials/Essentials). 
- GlowstoneMC Glowstone - source server for the Bukkit Minecraft modding interface. License: [MIT](https://opensource.org/licenses/MIT) , [](https://github.com/GlowstoneMC/Glowstone). 
- BuildCraft - 2.0) , [](https://github.com/BuildCraft/BuildCraft). 
- Equivalent Exchange 3 - Exchange-3\. Mods for Minecraft. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/pahimar/Equivalent-Exchange-3).
-
-
VIII. Resources
-
1. Communities
- r/java - Subreddit for the Java community.
- stackoverflow - Question/answer platform.
- DevProjects - Community to discuss Java projects and share solutions.
- stackoverflow - Question/answer platform.
-
2. Influential Books
-
3. Websites
- Android Arsenal
- Hackr.io
- InfoQ
- Java, SQL, and jOOQ
- Javalobby
- JavaWorld
- JAXenter
- RebelLabs
- The Java Specialist' Newsletter
- The Takipi Blog
- Thoughts On Java
- Vanilla Java
- Vlad Mihalcea on Hibernate
- Voxxed
- OverOps Blog
- Baeldung
- InterviewBit
- Android Arsenal
- Google Java Style
- InfoQ
- Javalobby
- JavaWorld
- JAXenter
- RebelLabs
- The Java Specialist' Newsletter
- The Takipi Blog
- TheServerSide.com
- Thoughts On Java
- Vanilla Java
- Vlad Mihalcea on Hibernate
- Voxxed
- Bookmarks.dev
- Baeldung
- InterviewBit
- OverOps Blog
- Java tutorial
- JavaWorld
-
Programming Languages
Categories
Sub Categories
1. Testing
54
6. Useful libraries
41
2. Web development
39
3. Websites
37
8. Machine Learning
27
7. Big data
24
2. Deploy, config and build
19
3. Continuous Integration
17
5. Monitoring
17
1. Common frameworks and libraries
14
3. Perfomance tools
13
4. Formal Verification
13
1. IDE
12
14. Document Processing (XLS, DOC and PDF)
11
9. Distributed Applications
11
1. Source code examples
11
6. Opensource games that were written with Java
10
5. Opensource applications that were written with Java
10
3. Message, message broker and message queue
10
4. Code Analysis
9
2. Influential Books
8
1. Databases and storages
8
2. Code Coverage
8
1. Servers (Web Server and Application Server)
7
8. Other
7
3. GUI
7
17. Geospatial Service Interation
6
5. Rest Frameworks
6
16. XML and SOAP
6
5. ORM
6
2. Data structures
6
4. Client and drivers for databases
6
2. Networking
6
5. Game Development
6
11. OSGI
5
8. Json
5
13. Cluster Management
5
1. Program languages that were written with Java
5
1. Communities
4
4. Business
4
7. Imagery and Video
3
10. Science
3
2. Other program languages tools that were written with Java
3
4. Frameworks that help to create parsers, interpreters or compilers
3
8. Code generation and changing byte code
3
12. Clouds
2
6. Working with messy data
2
4. Http and ssh
2
10. Integratin with API
2
9. CSV
1
18. Reverse Proxy Servers
1
6. Integration frameworks
1
7. Web Crawling and HTML parsering
1
3. Javascript
1
3. Search engines
1
3. Working with git and github
1
7. Documentation
1
2. Benchmark results
1
Keywords
java
14
spring
4
android
4
kotlin
3
framework
3
spring-boot
3
jvm
2
outofmemoryerror
2
outofmemory
2
memory-leak
2
leakcanary
2
leak-trace
2
microservices
2
restful
2
leak-canary
2
kotlin-android
2
actors
1
concurrency
1
spring-framework
1
fibers
1
aop
1
flow
1
reactive-streams
1
rxjava
1
barcode
1
barcode-scanner
1
datamatrix
1
qr-code
1
upc
1
zxing
1
emoji
1
nodejs
1
objective-c
1
ruby
1
tweet
1
twitter
1
twitter-text
1
unicode
1
graalvm
1
playframework
1
reactive
1
scala
1
web-framework
1
webapps
1
asynchronous
1
event-driven
1
javascript
1
netty
1
websocket
1
websockets
1