useful-java-links
by Vedenin
A list of useful Java frameworks, libraries, software and hello worlds examples
AI summary
Java resource collection
A curated list of useful Java resources, including frameworks, libraries, and examples, aimed at software developers
- stars
- 5.9K
- forks
- 1.2K
- watching
- 500
- awesome list
- 1
- entries
- 804
What's in the list
804 links in 60 sections, with live GitHub stats.activeno commit in 2y
I. Development / 1. Common frameworks and libraries
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: , , stackoverflow - more
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 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:
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: ,
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: ,
Puniverse Quasar
Fibers, Channels and Actors for the JVM. . License: Eclipse Public v1.0/ ,
- Rootbeer GPU Compiler
The Rootbeer GPU Compiler lets you use GPUs from within Java. License: ,
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: ,
Google Jimfs
An in-memory file system for Java 7+. License: ,
Spring batch
Spring Batch is a framework for writing offline and batch applications using Spring and Java. License: ,
Microserver
— 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: ,
Greenrobot common
General purpose utilities and hash functions for Android and Java (aka java-common). License: ,
Kilim
Lightweight threads for Java, with message passing, nio, http and scheduling support. License: ,
- Apache Isis
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 Zest
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:
Embedchain-JS
Framework to easily create LLM powered bots over any dataset
I. Development / 2. Web development
Play Framework
The Play Framework combines productivity and performance making it easy to build scalable web applications with Java and Scala. . License: ,
Spark
Spark - a Sinatra inspired web framework. License: ,
Blade
a simple, elegant java web framework! License: ,
Atmosphere
Realtime Client Server Framework for the JVM, supporting WebSockets with Cross-Browser Fallbacks. License: CDDL1 / ,
Grails
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. License: ,
Ninja
Ninja is a full stack web framework for Java. Rock solid, fast and super productive. . . License: ,
Electronicarts Orbit
— Orbit - Virtual actor framework for building distributed systems. License: ,
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.. License: ,
Vaadin
— Vaadin is a Java framework for building modern web applications that look great, perform well and make you and your users happy. License: ,
ZK framework
ZK is a highly productive Java framework for building amazing enterprise web and mobile applications. License: ,
- Apache Tapestry
A component-oriented framework for creating highly scalable web applications in Java. License:
- 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:
- 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:
- 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:
- Spring MVC
Spring MVC web application and RESTful web service framework. License:
- JavaServer Faces
JavaServer™ Faces technology simplifies building user interfaces for JavaServer applications. License: or
- JavaServer Pages
This project provides a container independent implementation of JSP 2.1. License: or
- Apache Cocoon
Web development framework: separation of concerns, component-based. License:
- Apache Struts
Apache Struts is a free open-source framework for creating Java web applications. License:
- Apache Sling
Innovative Web framework based on JCR and OSGi. License:
- Apache MyFaces
The first free open source JavaServer(tm) Faces implementation. License:
- Apache Pivot
Apache Pivot is an open-source platform for building installable Internet applications (IIAs) [rich Internet application]. License:
- Apache Turbine
Turbine is a servlet based framework that allows Java developers to quickly build web applications. License:
- Apache OODT
Apache OODT software is component based, and offers a software architecture beyond simple science applications. License:
VRaptor
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, . . License:
Jooby
Scalable, fast and modular micro web framework for Java , . . License:
CUBA Platform
High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. . License:
- 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
Tobie ua-parser
A multi-language port of Browserscope's user agent parser. License: / /Perl,
Ghost Driver
Ghost Driver is an implementation of the Remote WebDriver Wire protocol, using PhantomJS as back-end. License: ,
- B3log Solo
A blogging system written in Java, feel free to create your or your team own blog. License: ,
Nasher
A Spring Project with spring security support with angular admin panel. License: ,
Baasbox
BaasBox is an Open Source project that aims to provide a backend for mobile and web apps. License: ?,
Kolorobot Spring MVC 4 Quickstart Maven Archetype
— The project is a Maven archetype for Spring MVC 4 web application. License: ?,
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: ,
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: ,
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: ,
Gwt bootstrap
A GWT Library that provides the widgets of Bootstrap, from Twitter. License: ,
Netflix Zuul
Zuul is an edge service that provides dynamic routing, monitoring, resiliency, security, and more. License: ,
- 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:
- 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:
CSSEmbed
A tool for embedding data URIs in CSS files. License: ,
Athou commafeed
Google Reader inspired self-hosted RSS reader. License: ,
- Apache Any23
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 Forrest
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 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 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:
Handlebars.java
Logic-less and semantic templates with Java, . License:
- 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:
Mustache.java
Implementation of mustache.js (web application templating system) for Java. License: ,
- Apache Tiles
Apache Tiles is a templating framework built to simplify the development of web application user interfaces. License:
- Apache Stanbol
Software components for semantic content management. License:
- Apache JSPWiki
A feature-rich and extensible WikiWiki engine built around the standard J2EE components (Java, servlets, JSP). icense:
- Apache Portals
The Apache Portals project provides various software products, including Apache Jetspeed-2, Apache Pluto, and Apache Portals Applications. License:
- Apache Roller
Apache Roller is a full-featured, multi-user and group blog server suitable for blog sites large and small. License:
- Apache Chemistry
Apache Chemistry provides open source implementations of the Content Management Interoperability Services (CMIS) specification. License:
- Jease
Jease eases the development of content- & database-driven web-applications with Java. License:
I. Development / 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:
- 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: . , 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:
- 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:
- 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:
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: or
- Codename One
Open-source cross-platform app development solution for writing native apps for desktop, web & mobile in Java/Kotlin. (GPL + Classpath Exception)
I. Development / 4. Business
Codecademy EventHub
— An open source event analytics platform. License: ,
Killbill
Open-Source Subscription Billing & Payment Platform . License: ,
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: ,
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: ,
Broadleaf Commerce
Broadleaf Commerce - Enterprise eCommerce framework based on Spring. License: ,
Droolsjbpm Drools
Drools Expert is the rule engine and Drools Fusion does complex event processing (CEP). License: ,
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 OFBiz
Apache OFBiz (The Apache Open For Business Project) is an open source enterprise automation software project. License:
- Apache Portals
The Apache Portals project provides various software products, including Apache Jetspeed-2, Apache Pluto, and Apache Portals Applications. License:
- Apache ODE
Apache ODE is a WS-BPEL implementation that supports web services orchestration using flexible process definitions. License:
I. Development / 5. Game Development
libgdx
Desktop/Android/HTML5/iOS Java game development framework. License: ,
Disunity
An experimental toolset for Unity asset and asset bundle files. License: ,
LibGDX/LWJGL
LibGDX/LWJGL tutorials and examples. License: ?,
jMonkeyEngine
A complete 3D game development suite written purely in Java.. License: ,
Jetserver
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: ,
LWJGL 2.X
LWJGL 2.X - The Lightweight Java Game Library. License: ,
- 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:
- 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:
PlayN
A Java game development framework that deploys to Windows, Linux, HTML5, Android and iOS. Notable games: Angry Birds Chrome. Cross-platform. License: .
- Env3D
3D game engine that creates an interface for dynamically adding EnvObjects. Built on jMonkeyEngine 2.0. Cross-platform License:
- Jake2
Java port of the Quake II game engine. 2D. Cross-platform 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:
- Elflight Engine
Targeted for web based games
FXGL
JavaFX Game Development Framework. License: ,
I. Development / 6. Useful libraries
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 Commons Collections
Commons-Collections seek to build upon the JDK classes by providing new interfaces, implementations and utilities. . License:
Gs collections
A supplement or replacement for the Java Collections Framework. . License: ,
- 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. . License:
- 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:
- 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:
OpenHFT Chronicle Queue
Micro second messaging that stores everything to disk. License: .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. It requires Java 7 or newer. License:
- 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:
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:
- Trove
The Trove library provides high speed regular and primitive collections for Java. License:
underscore-java
Underscore-java is a java port of Underscore.js. In addition to porting Underscore's functionality, Underscore-java includes matching unit tests. License: ,
- Almanac Converter
An easy-to-use Java-based calendar converter - able to convert between various known calendars. License:
Joda-Time
Joda-Time provides a quality replacement for the Java date and time classes. License: ,
ThreeTenBP
Backport of functionality based on JSR-310 to Java SE 6 and 7. This is NOT an implementation of JSR-310. License:
Time4J
Advanced date, time and interval library for Java. License:
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: ,
threeten-extra
Provides additional date-time classes that complement those in JDK 8
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: ,
Dagger and Dagger2
A fast dependency injector for Android and Java. . License: , , stackoverflow -
Google Guice
Guice (pronounced 'juice') is a lightweight dependency injection framework for Java 6 and above, brought to you by Google. . License: ,
- 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:
- HK2
A light-weight and dynamic dependency injection framework. /
- Eclipse AspectJ
AspectJ is a seamless aspect-oriented extension to the Java programming language, Java platform compatible, easy to learn and use. License:
jcommander
Command line parsing framework for Java. License: ,
Jline
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: ,
- args4j
args4j is a small Java class library that makes it easy to parse command line options/arguments in your CUI application. License:
- CRaSH
The shell for the Java Platform Open source and open minde. 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:
Retrolambda
Backport of Java 8's lambda expressions to Java 7, 6 and 5. License: ,
Vavr
Vavr (formerly called Javaslang) is a functional library for Java 8+. It helps to reduce the amount of code and to increase the robustness. A first step towards functional programming is to start thinking in immutable values. Vavr provides immutable collections and the necessary functions and control structures to operate on these values, . License:
jOOλ
jOOλ - The Missing Parts in Java 8 jOOλ improves the JDK libraries in areas where the Expert Group's focus was elsewhere. It adds tuple support, function support, and a lot of additional functionality around sequential Streams, . License:
Functional Java
Functional Java is an open source library facilitating functional programming in Java. The library implements numerous basic and advanced programming abstractions that assist composition oriented development. Functional Java also serves as a platform for learning functional programming concepts by introducing these concepts using a familiar language. License: ,
Cyclops react
A comprehensive functional reactive platform for JDK8. Future & functional based programming via JDK compatible extensions for Java 8 and above, . License:
- 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:
TotallyLazy
Another functional library for Java , License: ,
derive4j
Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching, morphisms, (near future: optics and typeclasses), . License:
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: , , stackoverflow -
Eclipse Vert.x
Vert.x is a tool-kit for building reactive applications on the JVM . License: Eclipse Public 1 / , , stackoverflow -
Reactive Streams
The purpose of Reactive Streams is to provide a standard for asynchronous stream processing with non-blocking backpressure. License: ,
- Reactor
Reactor is a second-generation Reactive library for building non-blocking applications on the JVM based on the Reactive Streams Specification. License:
- RSocket
RSocket is a binary protocol for use on byte stream transports such as TCP, WebSockets, and Aeron. License: ,
OTP-Java
A small one-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP)
Scribe Java
Simple OAuth library for Java. License: ,
Spring security oauth
Support for adding OAuth1(a) and OAuth2 features (consumer and provider) for Spring web applications. License: ,
Jasig CAS (Central Authentication Service)
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: ,
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: ,
Play Authenticate
An authentication plugin for Play Framework 2.x (Java). License: ,
- 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:
- Bouncy Castle
Legion of the Bouncy Castle Java cryptography APIs.A lightweight cryptography API. License:
- Cryptomator
Free client-side encryption for your cloud files. Open source software: No backdoors, no registration. License:
Google Keyczar
Easy-to-use crypto toolkit. License:
- 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:
- 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:
- Santuario
Library implementing XML Digital Signature Specification & XML Encryption Specification. License:
- Apache Oltu
( ) Apache Oltu is an OAuth protocol implementation in Java. License:
- Apache Syncope
Apache Syncope is an Open Source system for managing digital identities in enterprise environments. License:
- 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:
- OpenAM
Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security. License: ,
Agrona
High Performance data structures and utility methods for Java and C++, License:
- Disruptor
Inter-thread messaging library. License:
- 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:
Eclipse Collections (older 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:
- 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:
- Javolution
ibrary for real-time and embedded systems. License:
JCTools
Concurrency tools currently missing from the JDK. License:
Koloboke
Hash sets and hash maps. License:
- Trove
Primitive collections. License:
JUnion
Delivers struct types for Java programming language. 64 bit addressable struct arrays. License: [License:
Square Okio
A modern I/O API for Java. License: ,
Square type
A lightning fast, transactional, file-based FIFO for Android and Java. License: ,
Simple Binary Encoding (SBE)
Simple Binary Encoding (SBE) - High Performance Message Codec. License: ,
MessagePack
MessagePack serializer implementation for Java. License: ,
FlatBuffers
Memory efficient serialization library that can access serialized data without unpacking and parsing it. License:
FST
JDK compatible high performance object graph serialization. License:
Kryo
Fast and efficient object graph serialization framework. License:
Graylog2 server
Free and open source log management. License: ,
logback
The reliable, generic, fast and flexible logging framework for Java.. . License: / ,
slf4j
Abstraction layer which is to be used with an implementation. License: ,
- Apache Log4j 2
Apache Log4j 2 is an upgrade to Log4j that provides significant improvements over its predecessor. License:
- graylog
Open-source aggregator suited for extended role and permission management. License:
- Elastic Kibana
Analyzes and visualizes log files. Some features require payment. License:
- Elastic Logstash
Tool for managing log files. License:
Metrics
Expose metrics via JMX or HTTP and can send them to a database. License:
- tinylog
Lightweight logging framework with static logger class. License:
Dozer
Dozer is a Java Bean to Java Bean mapper that recursively copies data from one object to another. . License: ,
MapStruct
An annotation processor for generating type-safe bean mappers. . License: ,
ModelMapper
-Simple, Intelligent, Object Mapping. . License: ,
Orika
Simpler, better and faster Java bean mapping framework. . License: ,
Selma
Stupid Simple Statically Linked Mapper. . Selma Java bean mapping that compiles. License: ,
- Apache BVal
Apache BVal delivers an implementation of the Java Bean Validation (JSR303) Specification which is TCK compliant, works on Java SE 5 or later. License:
- OVal
– 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:
I. Development / 7. Imagery and Video
Facebook Rebound
A Java library that models spring dynamics and adds real world physics to your app. License: ,
Processing
Source code for the Processing Development Environment (PDE) . License: ,
JavaCV
JavaCV uses wrappers from the JavaCPP Presets of commonly used libraries by researchers in the field of computer vision (OpenCV, FFmpeg, libdc1394, PGR FlyCapture, OpenKinect, videoInput, ARToolKitPlus, and flandmark), and provides utility classes to make their functionality easier to use on the Java platform, including Android. License: ,
imgscalr
Simple Java image-scaling library implementing Chris Campbell's incremental scaling algorithm as well as Java2D's "best-practices" image-scaling techniques. License: ,
webcam-capture
Project goal is to give users possibility to access build-in or connected via USB webcams or remote IP / network cameras directly from Java code. Using provided libraries user is able to read camera images and detect motion. License: ,
Thumbnailator
Thumbnailator's fluent interface can be used to perform fairly complicated thumbnail processing task in one simple step
zxing
ZXing ("zebra crossing") is an open-source, multi-format 1D/2D barcode image processing library implemented in Java, with ports to other languages. License: ,
I. Development / 8. Code generation and changing byte code
Google Auto
A collection of source code generators for Java. License: ,
Square Javapoet
JavaPoet is a Java API for generating .java source files. License: ,
Byte buddy
Runtime code generation for the Java virtual machine. License: ,
- 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: / License:
- 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:
- 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: or or
ADT4J
This library implements Algebraic Data Types for Java. ADT4J provides annotation processor for @GenerateValueClassForVisitor annotation. ADT4J generates new class for each @GenerateValueClassForVisitor annotation. License:
JHipster
Hipster stack for Java developers. Spring Boot + AngularJS in one handy generator. License:
cglib
cglib - Byte Code Generation Library is high level API to generate and transform Java byte code. It is used by AOP, testing, data access frameworks to generate dynamic proxy objects and intercept field access. License:
I. Development / 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 Storm
Apache Storm is a free and open source distributed realtime computation system. Storm makes it easy to reliably process unbounded streams of data, doing for realtime processing what Hadoop did for batch processing. Storm is simple, can be used with any programming language, and is a lot of fun to use! . License:
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. . License:
- 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:
Alibaba Dubbo
Dubbo is a distributed service framework empowers applications with service import/export capability with high performance RPC. License: ,
Netflix Curator
ZooKeeper client wrapper and rich ZooKeeper framework. License: ,
- 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:
- Hazelcast
The Leading Open Source In-Memory Data Grid: Distributed Computing, Simplified. License:
Netflix Hystrix
Hystrix is a latency and fault tolerance library designed to isolate points of access to remote systems, services and 3rd party libraries, stop cascading failure and enable resilience in complex distributed systems where failure is inevitable, . License:
- JGroups
JGroups is a toolkit for reliable messaging. It can be used to create clusters whose nodes can send messages to each other. License:
Orbit
Orbit is a modern framework for JVM languages that makes it easier to build and maintain distributed and scalable online services. It was developed by BioWare, a division of Electronic Arts. License:
- 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: or
Storm contrib
A collection of spouts, bolts, serializers, DSLs, and other goodies to use with Storm. 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:
- Apache River
Apache River software provides a standards-compilani JINI service. License:
- Apache Tuscany
Apache Tuscany simplifies the task of developing SOA solutions by providing a comprehensive infrastructure for SOA development and management that is based on Service Component Architecture (SCA) standard. License:
Lagom
Reactive Microservices for the JVM. . License: ,
I. Development / 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:
JGraphT
JGraphT is a free Java class library that provides mathematical graph-theory objects and algorithms. It runs on Java 2 Platform (requires JDK 1.7 or later). License: or
- JScience
Provides a set of classes to work with scientific measurements and units. License:
- Michael Thomas Flanagan's Java Scientific Library
General classes of a Java scientific and numerical library written by Michael Thomas Flanagan to support both his own research and his undergraduate programming courses and projects. License: only for non-commercial use
I. Development / 11. OSGI
- ACE
Apache ACE is a software distribution framework that allows you to centrally manage and distribute software components, configuration data and other artifacts to target systems. It is built using OSGi and can be deployed in different topologies. The target systems are usually also OSGi based, but don't have to be. License:
- Aries
The Aries project consists of a set of pluggable Java components enabling an enterprise OSGi application programming model. License:
- Felix
OSGi framework implementation and related technologies. License:
- Karaf
Apache Karaf is an OSGi distribution for server-side applications. License:
- Equinox
OSGI framework implementation and related technologies. License:
- Eclipse Virgo
OSGI based server that is designed to run enterprise Java applications and Spring-powered applications. License:
II. Databases, search engines, big data and machine learning / 1. Databases and storages
Thinkaurelius Titan
Titan is a highly scalable graph database optimized for storing and querying large graphs with billions of vertices and edges distributed across a multi-machine cluster. Titan is a transactional database that can support thousands of concurrent users, complex traversals, and analytic graph queries. License: ,
Apache Cassandra
Cassandra is a partitioned row store. Rows are organized into tables with a required primary key. License: ,
Orientdb
OrientDB is the first Multi-Model DBMS with Document & Graph engine. OrientDB can run distributed (Multi-Master), supports SQL, ACID Transactions, Full-Text indexing, Reactive Queries and has a small memory footprint. OrientDB is licensed with Apache 2 license and the development is driven by OrientDB LTD and a worldwide Open Source community. License: /CDDL 1/Eclipse Distribution 1.0,
Neo4j
— Neo4j is the world’s leading Graph Database. It is a high performance graph store with all the features expected of a mature and robust database, like a friendly query language and ACID transactions. License: / ,
Mapdb
MapDB provides concurrent Maps, Sets and Queues backed by disk storage or off-heap-memory. It is a fast and easy to use embedded Java database engine. . License: ,
Voldemort
An open source clone of Amazon's Dynamo. Voldemort is a distributed key-value storage system. License: ,
Alluxio (formerly Tachyon)
Memory-Speed Virtual Distributed Storage System. License: ,
Opentsdb
A scalable, distributed Time Series Database. License: ,
Hazelcast
Open Source In-Memory Data Grid. License: ,
Tinkerpop Blueprints
A Property Graph Model Interface. It provides implementations, test suites, and supporting extensions. Graph databases and frameworks that implement the Blueprints interfaces automatically support Blueprints-enabled applications. Likewise, Blueprints-enabled applications can plug-and-play different Blueprints-enabled graph backends. License: ,
Apache Lucene solr
Apache Lucene/Solr. Lucene is a search engine library Solr is a search engine server that uses lucene. License: ,
Java Chronicle
Java Indexed Record Chronicle — This library is an ultra low latency, high throughput, persisted, messaging and event driven in memory database. License: ,
Torodb
ToroDB - Open source NoSQL database that runs on top of a RDBMS. Compatible with MongoDB protocol and APIs, but with support for native SQL, atomic operations and reliable and durable backends like PostgreSQL. License: ,
Crate
Crate.IO: The fast, scalable, easy to use SQL database with native full text search. .License: ,
Linkedin Pinot
A realtime distributed OLAP datastore. Pinot is a realtime distributed OLAP datastore, which is used at LinkedIn to deliver scalable real time analytics with low latency. License: ,
Solandra
Solandra is a real-time distributed search engine built on Apache Solr and Apache Cassandra. License: ,
- Voltdb
VoltDB is a horizontally-scalable, in-memory SQL RDBMS designed for applications that have extremely high read and write throughput requirements. License: ,
Leveldb
This is a rewrite (port) of LevelDB in Java. This goal is to have a feature complete implementation that is within 10% of the performance of the C++ original and produces byte-for-byte exact copies of the C++ code.. License: ,
Kairosdb
KairosDB is a fast distributed scalable time series database written on top of Cassandra. License: ,
Linkedin Sensei
Sensei is a distributed, elastic realtime searchable database. License: ,
Elephantdb
Distributed database specialized in exporting key/value data from Hadoop. License: ,
Apache Drill
Apache Drill is a distributed MPP query layer that supports SQL and alternative query languages against NoSQL and Hadoop data storage systems. License: ,
Tinkerpop Rexster
Rexster is a graph server that exposes any Blueprints graph through HTTP/REST and a binary protocol called RexPro. Extensions support standard traversal goals such as search, score, rank, and, in concert, recommendation. License: ,
Tomcat redis session manager
Redis-backed non-sticky session store for Apache Tomcat. License: ,
Embulk
Embulk is a parallel bulk data loader that helps data transfer between various storages, databases, NoSQL and cloud services. License: ,
- 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: and
- 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 Empire-db
Apache Empire-db is a lightweight relational database abstraction layer and data persistence component. License:
- Apache Ignite
Apache Ignite is an In-Memory Data Fabric providing in-memory data caching, partitioning, processing, and querying components. License:
Tarantool
— is an open-source NoSQL database management system and Lua application server. It maintains databases in memory and ensures crash resistance with write-ahead logging. It includes a Lua interpreter and interactive console but also accepts connections from programs in several other languages. License:
Apache Cassandra
The Apache Cassandra database is the right choice when you need scalability and high availability without compromising performance. License: ,
- 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:
Druid
Druid is a fast column-oriented distributed data store. License: ,
- 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:
OpenTSDB
The Scalable Time Series Database Store and serve massive amounts of time series data without losing granularity. License: ,
II. Databases, search engines, big data and machine learning / 2. Data structures
- Apache Avro
Apache Avro is a data serialization system. License:
- Apache Orc
The smallest, fastest columnar storage for Hadoop workloads. License:
- 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 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:
- Persistent Collection
PCollections serves as a persistent and immutable analogue of the Java Collections Framework. License:
Protobuf
Protocol Buffers (a.k.a., protobuf) are Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data. License:
SBE
Simple Binary Encoding (SBE) - High Performance Message Codec, License:
Wire
Clean, lightweight protocol buffers for Android and Java. License:
II. Databases, search engines, big data and machine learning / 3. Search engines
Elasticsearch
Elasticsearch is a distributed RESTful search engine built for the cloud. License: ,
Linkedin Indextank Engine
This project contains IndexTank ( ) search engine implementation. Includes features like variables (boosts), categories (facets), faceted search, snippeting, custom scoring functions, suggest, and autocomplete. License: ,
Apache Solr
Solr is the popular, blazing-fast, open source enterprise search platform built on Apache Lucene. License: ,
Linkedin Cleo
A flexible, partial, out-of-order and real-time typeahead search library. License: ,
Elasticsearch cloud aws
AWS (Amazon Web Service) Cloud Plugin for Elasticsearch. License: ,
Elasticsearch analysis ik
The IK Analysis plugin integrates Lucene IK analyzer into elasticsearch, support customized dictionary. License: ?,
- Apache ManifoldCF
Open-source software for transferring content between repositories or search indexes License:
- Lemur Project
The Lemur Project develops search engines, browser toolbars, text analysis tools, and data resources that support research and development of information retrieval and text mining software, including the Indri search engine and ClueWeb09 dataset. License:
YaCy
The YaCy Search Engine application, . License: and
II. Databases, search engines, big data and machine learning / 4. Client and drivers for databases
Facebook Presto
Distributed SQL query engine for big data (Cassandra, Hive, Kafka, MySQL, PostgreSQL and so on). License: ,
Jedis
A blazingly small and sane redis java client. License: ,
Tinkerpop Gremlin
A Graph Traversal Language. Gremlin is a domain specific language for traversing property graphs. Gremlin makes use of Pipes to perform complex graph traversals. This language has application in the areas of graph query, analysis, and manipulation. License: ,
Mongodb Java Driver
The Java driver for MongoDB. License: / Creative Commons Attribution ,
Yahoo Mysql_perf_analyzer
MySQL Performance Analyzer is an open source project for MySQL performance monitoring and analysis. License: ,
Airbnb Airpal
Web UI for PrestoDB. License: ,
Mongodb hadoop
MongoDB Connector for Hadoop. License: ?,
Elasticsearch jdbc
JDBC importer for Elasticsearch. License: ,
Flyway
— Flyway by Boxfuse. Database Migrations Made Easy. . License: ,
Elasticsearch river mongodb
MongoDB River Plugin for ElasticSearch. License: ,
Netflix Astyanax
Cassandra Java Client. License: ,
Liquibase
Liquibase — source control for your database, supports multiple developers, database types and so on. . License: ,
Mongodb Morphia
MongoDB object-document mapper in Java based on. License: ,
Couchdb lucene
Enables full-text searching of CouchDB documents using Lucene. License: ,
Forcedotcom Phoenix
Phoenix is a SQL skin over HBase, delivered as a client-embedded JDBC driver, powering the HBase use cases at Salesforce.com. Phoenix targets low-latency queries (milliseconds), as opposed to batch operation via map/reduce. License: ,
Variety
A schema analyzer for MongoDB. License: ,
Redisson
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: ,
Netflix Priam
Co-Process for backup/recovery, Token Management, and Centralized Configuration management for Cassandra. License: ,
Datastax Java driver
DataStax Java Driver for Apache Cassandra. License: ,
Memcached Java Client
to be the best java client for memcached. License: ,
Spring data mongodb
Provide support to increase developer productivity in Java when using MongoDB. Uses familiar Spring concepts such as a template classes for core API usage and lightweight repository style data access. License: ,
- Apache Phoenix
Apache Phoenix enables OLTP and operational analytics in Hadoop for low latency applications by combining the best of both worlds, License:
FlexyPool
FlexyPool adds metrics and failover strategies to a given Connection Pool, allowing it to resize on demand. License:
- LightAdmin
Pluggable data administration UI library for Java web applications. License:
Jaybird JCA/JDBC driver
JCA-JDBC Driver for Firebird database. , . License:
dbeaver
Free universal database manager and SQL client. . , . License:
tarantool-java
A Java client for Tarantool. License:
II. Databases, search engines, big data and machine learning / 5. ORM
HikariCP
A solid high-performance JDBC connection pool at last. License: ,
Mybatis 3
MyBatis SQL mapper framework for Java. License: ,
Hibernate orm
Hibernate's core Object/Relational Mapping functionality. License: ,
JOOQ
OOQ is an innovative solution for a better integration of Java applications with popular databases like Oracle, Microsoft SQL Server, IBM DB2, or SAP Sybase. . License: ,
Querydsl
Querydsl is a framework which enables the construction of type-safe SQL-like queries for multiple backends including JPA, MongoDB and SQL in Java. . License: ,
Kundera
A JPA 2.1 compliant Polyglot Object-Datastore Mapping Library for NoSQL Datastores. License: ,
Spring data jpa
Simplifies the development of creating a JPA-based data access layer. License: ,
Jdbi
jDBI is designed to provide convenient tabular data access in Java(tm). It uses the Java collections framework for query results, provides a convenient means of externalizing sql statements, and provides named parameter support for any database being used. .License: ,
ActiveJDBC
ActiveJDBC is a fast and lean Java ORM. License: ,
- 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:
- Ebean
Ebean ORM for Java/Kotlin.Fast and simple data access on the JVM. License:
- EclipseLink
Comprehensive open-source Java persistence solution addressing relational, XML, and database web services. License: and
- 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:
- Apache Cayenne
User-friendly Java ORM with tools. License:
- Apache OpenJPA
Java Persistence API Implementation. License:
- Apache MetaModel
With MetaModel you get a uniform connector and query API to many very different datastore types, including: Relational (JDBC) databases, CSV files, Excel spreadsheets, XML files, JSON files, Fixed width files, MongoDB, Apache CouchDB, Apache HBase, Apache Cassandra, ElasticSearch, OpenOffice.org databases, Salesforce.com, SugarCRM and even collections of plain old Java objects (POJOs). License:
II. Databases, search engines, big data and machine learning / 6. Working with messy data
Storm
Distributed and fault-tolerant realtime computation: stream processing, continuous computation, distributed RPC, and more. License: ,
OpenRefine
— OpenRefine is a free, open source power tool for working with messy data and improving it. License: ,
Addthis Stream lib
Stream summarizer and cardinality estimator. License: ,
HdrHistogram (A High Dynamic Range (HDR) Histogram )
— HdrHistogram: A High Dynamic Range (HDR) Histogram: HdrHistogram supports the recording and analyzing of sampled data value counts across a configurable integer value range with configurable value precision within the range. License: ,
HazyResearch 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: ,
Apache Incubator Zeppelin
Zeppelin, a web-based notebook that enables interactive data analytics. You can make beautiful data-driven, interactive and collaborative documents with SQL, Scala and more. License: ,
Seldon Server
Enterprise machine learning platform for prediction and recommendation on Apache Spark. License: ,
Pulsar
Realtime analytics, this includes the core components of Pulsar pipeline. License: .0,
Suro: Netflix's Data Pipeline
— Suro: Netflix's Data Pipeline. Suro is a data pipeline service for collecting, aggregating, and dispatching large volume of application events including log data. License: ,
- Apache UIMA
Annotator components and a scalable integration and deployment framework for Unstructured Information analysis. License:
II. Databases, search engines, big data and machine learning / 7. Big data
Apache Storm
Storm is a distributed realtime computation system. Similar to how Hadoop provides a set of general primitives for doing batch processing, Storm provides a set of general primitives for doing realtime computation.License: ,
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. . License:
H2o
h2o = fast statistical, machine learning & math runtime for bigdata. License: ,
- Cloudera Oryx
The Oryx open source project provides simple, real-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: ,
Twitter Elephant bird
Twitter's collection of LZO and Protocol Buffer-related Hadoop, Pig, Hive, and HBase code. License: ,
Apache Hadoop
The Apache Hadoop software library is a framework that allows for the distributed processing of large data sets across clusters of computers using simple programming models. It is designed to scale up from single servers to thousands of machines, each offering local computation and storage. License: ,
Google Mr4c
MR4C is an implementation framework that allows you to run native code within the Hadoop execution framework. License: ,
Alibaba Jstorm
— JStorm is a distributed and fault-tolerant realtime computation system. Inspired by Apache Storm, JStorm has been completely rewritten in Java and provides many more enhanced features. JStorm has been widely used in many enterprise environments and proved robust and stable. License: ,
Etsy Oculus
Oculus is the anomaly correlation component of Etsy's Kale system. License: ,
Linkedin Datafu
Apache DataFu is a collection of libraries for working with large-scale data in Hadoop. The project was inspired by the need for stable, well-tested libraries for data mining and statistics. License: ,
Linkedin Gobblin
Universal data ingestion framework for Hadoop. License: ,
Apache Flink
Apache Flink is an open source stream processing framework with powerful stream- and batch-processing capabilities. License: ,
Oryx 2
Oryx 2: Lambda architecture on Apache Spark, Apache Kafka for real-time large scale machine learning. License: ,
Yahoo SAMOA (Scalable Advanced Massive Online Analysis)
— SAMOA (Scalable Advanced Massive Online Analysis) is an open-source platform for mining big data streams. License: ,
- Curator
A set of Java libraries that make using Apache ZooKeeper much easier. License:
- Apache Hama
Hama is an efficient and scalable general-purpose BSP computing engine. License:
- Apache Falcon
Data management and processing platform for Hadoop. License:
- Apache Knox
A REST API Gateway for Hadoop Services. License:
- Apache Flume
Apache Flume is a distributed, reliable, and available system for efficiently collecting, aggregating and moving large amounts of log data from many different sources to a centralized data store. License:
- Apache Tajo
Tajo is an open source big data warehouse system in Hadoop for processing web-scale data sets. License:
- Apache Tez
Apache Tez is an effort to develop a generic application framework which can be used to process arbitrarily complex directed-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 REEF
Apache REEF (Retainable Evaluator Execution Framework) is a scale-out computing fabric that eases the development of Big Data applications on top of resource managers such as Apache YARN and Mesos. License:
- Apache Pig
Apache Pig is a platform for analyzing large data sets on Hadoop. License:
Druid
Column oriented distributed data store ideal for powering interactive applications. License: ,
Apache Hive
The Apache Hive data warehouse software facilitates querying and managing large datasets residing in distributed storage. Built on top of Apache Hadoop. .License: ,
Apache Kylin
Apache Kylin is an open source Distributed Analytics Engine to provide SQL interface and multi-dimensional analysis (OLAP) on Hadoop supporting extremely large datasets. License: ,
Elasticsearch hadoop
Elasticsearch real-time search and analytics natively integrated with Hadoop. License: ,
Facebook Presto
Presto is a distributed SQL query engine for big data. License: ,
- Apache MetaModel
With MetaModel you get a uniform connector and query API to many very different datastore types, including: Relational (JDBC) databases, CSV files, Excel spreadsheets, XML files, JSON files, Fixed width files, MongoDB, Apache CouchDB, Apache HBase, Apache Cassandra, ElasticSearch, OpenOffice.org databases, Salesforce.com, SugarCRM and even collections of plain old Java objects (POJOs). License:
- Apache Accumulo
Apache Accumulo is based on Google’s BigTable design and is built on top of Apache Hadoop, Zookeeper, and Thrift. Apache Accumulo features a few novel improvements on the BigTable design in the form of cell-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 Gora
provides an in-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:
- http://sqoop.apache.org
[Apache Sqoop] Apache Sqoop(TM) is a tool designed for efficiently transferring bulk data between Apache Hadoop and structured datastores such as relational databases.( ) License:
- Giraph
Apache Giraph is an iterative graph processing system built for high scalability. For example, it is currently used at Facebook to analyze the social graph formed by users and their connections. Лицензия:
Impala
Real-time Query for Hadoop. . License:
Twitter Ambrose
A platform for visualization and real-time monitoring of data workflows. License: ,
Umongo
Desktop app to browse and administer your MongoDB cluster. License: ,
- Apache Ambari
The Apache Ambari project is aimed at making Hadoop management simpler by developing software for provisioning, managing, and monitoring Apache Hadoop clusters. Ambari provides an intuitive, easy-to-use Hadoop management web UI backed by its RESTful APIs. License:
- Apache Chukwa
Chukwa is an open source data collection system for monitoring large distributed systems. Chukwa is built on top of the Hadoop Distributed File System (HDFS) and Map/Reduce framework and inherits Hadoop’s scalability and robustness. Chukwa also includes a flexible and powerful toolkit for displaying, monitoring and analyzing results to make the best use of the collected data. License:
- Apache Bigtop
Bigtop is an Apache Foundation project for Infrastructure Engineers and Data Scientists looking for comprehensive packaging, testing, and configuration of the leading open source big data components. License:
- Apache BookKeeper
BookKeeper is a replicated log service which can be used to build replicated state machines. A log contains a sequence of events which can be applied to a state machine. BookKeeper guarantees that each replica state machine will see all the same entries, in the same order. License:
- Apache Crunch
Provides a framework for writing, testing, and running MapReduce pipelines. License:
- Apache MRUnit
Apache MRUnit is a Java library that helps developers unit test Apache Hadoop map reduce jobs. License:
- Apache Oozie
Oozie is a workflow scheduler system to manage Apache Hadoop jobs. License:
II. Databases, search engines, big data and machine learning / 8. Machine Learning
Airbnb Aerosolve
A machine learning library designed from the ground up to be human friendly. License: ,
Smile
Smile (Statistical Machine Intelligence and Learning Engine) is a set of pure Java libraries of various state-of-art machine learning algorithms. Smile is self contained and requires only Java standard library. . License: ,
Deeplearning4j
Deeplearning4J is an Apache 2.0-licensed, open-source, distributed neural net library written in Java and Scala. .License: ,
Libsvm
Libsvm is a simple, easy-to-use, and efficient software for SVM classification and regression. It solves C-SVM classification, nu-SVM classification, one-class-SVM, epsilon-SVM regression, and nu-SVM regression. License: ,
Neuralnetworks
java deep learning algorithms and deep neural networks with gpu acceleration. License: ,
Datumbox framework
Datumbox is an open-source Machine Learning framework written in Java which allows the rapid development of Machine Learning and Statistical applications. License: ,
Apache Mahout
The Apache Mahout project's goal is to build an environment for quickly creating scalable performant machine learning applications. .License: ,
Encog java core
Encog is an advanced machine learning framework that supports a variety of advanced algorithms, as well as support classes to normalize and process data. Machine learning algorithms such as Support Vector Machines, Artificial Neural Networks, Genetic Programming, Bayesian Networks, Hidden Markov Models, Genetic Programming and Genetic Algorithms are supported. License: ,
Apache Flink
Apache Flink is an open source stream processing framework with powerful stream- and batch-processing capabilities. Subproject: - FlinkML is the Machine Learning (ML) library for Flink. License: ,
Apache Hadoop
The Apache Hadoop software library is a framework that allows for the distributed processing of large data sets across clusters of computers using simple programming models. It is designed to scale up from single servers to thousands of machines, each offering local computation and storage. License: ,
- Apache Spark
Apache Spark™ is a fast and general engine for large-scale data processing. Subproject: . License:
- 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:
H2o
h2o = fast statistical, machine learning & math runtime for bigdata. License: ,
JSAT
Java Statistical Analysis Tool, a Java library for Machine Learning. 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:
- Protégé
A free, open-source ontology editor and framework for building intelligent systems. License:
- EvA2
A Java based framework for Evolutionary Algorithms -- formerly known as JavaEvA/EvA. License:
htm.java
Hierarchical Temporal Memory implementation in Java - an official Community-Driven Java port of the Numenta Platform for Intelligent Computing (NuPIC). License:
- JAVA-ML
Java Machine Learning Library (Java-ML). License:
JSAT
Numerous Machine Learning algorithms for classification, regression, and clustering. License:
- Meka
An open source implementation of methods for multi-label classification and evaluation (extension to Weka). License:
- Neuroph
Neuroph is lightweight Java neural network framework. License:
rapaio
statistics, data mining and machine learning toolbox in Java. License:
Apache SystemML
flexible, scalable machine learning (ML) language. (incubator project). License:
- wAlnut
Object oriented model of partial human brain with 1 theorized common learning algorithm. Work in progress towards a strong emotional AI. License:
- Apache Marmotta
An Open Platform for Linked Data. License:
- Apache Jena
A framework for developing Semantic Web and Linked Data applications in Java. License:
- 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:
JaCoP
Java Constraint Programming (JaCoP) solver
- 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:
- 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: and
Stanfordnlp CoreNLP
Stanford CoreNLP provides a set of natural language analysis tools written in Java. . License: ,
- Apache OpenNLP
The Apache OpenNLP library is a machine learning based toolkit for the processing of natural language text. . License:
- LingPipe
LingPipe is tool kit for processing text using computational linguistics. License: or . 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:
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:
NLP4J
The NLP4J project (formerly known as ClearNLP) provides a NLP toolkit for JVM languages. This project is currently developed by the NLP Research Group at Emory University. License:
- Joshua
Joshua is an open-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:
- Z-MERT
Z-MERT is a software tool for minimum error rate training of machine translation systems. License:
ClearTK
ClearTK is a framework for developing machine learning and natural language processing components within the Apache Unstructured Information Management Architecture, . License:
- Apache cTAKES
Apache cTAKES™ is a natural language processing system for extraction of information from electronic medical record clinical free-text. License:
- The Stanford Natural Language Processing Group
A Natural Language Processing Java software tools. Subproject: - A statistical parser, , , , , , , , , , . License:
- Apache Tika
The Apache Tika toolkit detects and extracts metadata and structured text content from various documents using existing parser libraries. License:
- CMU Sphinx
Open Source Speech Recognition Toolkit. License:
ARK Twitter NLP
CMU ARK Twitter Part-of-Speech Tagger. License: ,
lc4j
Language Categorization for Java: an Open Source library for finding out in which language a text has been written. License:
III. Network and Integration / 1. Servers (Web Server and Application Server)
Wildfly
Formerly known as JBoss and developed by Red Hat with extensive Java EE support. License: ,
Undertow
High performance non-blocking webserver. License: ,
Apache Tomcat
Robust all-round server for Servlet and JSP. License: ,
Nginx clojure
Nginx module for embedding Clojure or Java or Groovy programs, typically those Ring based handlers. License: ,
Jetty
Lightweight, small server, often embedded in projects. License: / .0,
- Apache TomEE
Tomcat plus Java EE. License:
- WebSphere Liberty
Lightweight, modular server developed by IBM
- GlassFish
GlassFish - World's first Java EE 7 Application Server. License: Or
- Apache Geronimo
Java EE Application Server. License:
- Apache James
The Apache Java Enterprise Mail Server (a.k.a. Apache James) is a 100% pure Java SMTP and POP3 Mail server and NNTP News server. We have designed James to be a complete and portable enterprise mail engine solution based on currently available open protocols. License:
Payara
Payara Server is an open source middleware platform that supports reliable and secure deployments of Java EE (Jakarta EE) and MicroProfile applications in any environment: on premise, in the cloud or hybrid
III. Network and Integration / 2. Networking
Netty
Framework for building high performance network applications. License: ,
Netty socketio
Socket.IO server implemented on Java. Realtime java framework. License: ,
Grpc java
The Java gRPC implementation. HTTP/2 based RPC . License: ,
Socket.io java client
Socket.IO Client Implementation in Java. License: ,
Socket.io client.java
Full-featured Socket.IO Client Library for Java, which is compatible with Socket.IO v1.0 and later. License: ,
EsotericSoftware Kryonet
TCP/UDP client/server library for Java, based on Kryo. License: ,
Async Http Client
Asynchronous HTTP and WebSocket client library. License:
Comsat
Integrates standard Java web-related APIs with Quasar fibers and actors. License:
- Grizzly
NIO framework. Used as a network layer in Glassfish. License: and
- OkHttp
HTTP+SPDY client. License:
- Undertow
Web server providing both blocking and non-blocking API’s based on NIO. Used as a network layer in WildFly. License:
- Apache MINA
Apache MINA is a network application framework which helps users develop high performance and high scalability network applications easily. It provides an abstract, event-driven, asynchronous API over various transports such as TCP/IP and UDP/IP via Java NIO. License:
- Apache HttpComponents
project is responsible for creating and maintaining a toolset of low level Java components focused on HTTP and associated protocols. HTTP transport library including support for asynchronous execution based on Java NIO. License:
III. Network and Integration / 3. Message, message broker and message queue
LMAX Exchange Disruptor
High Performance Inter-Thread Messaging Library. License: ,
Gifsockets
Real Time communication library using Animated Gifs as a transport. License: ,
Real logic Aeron
Efficient reliable UDP unicast, UDP multicast, and IPC message transport. License: ,
JeroMQ
Pure Java ZeroMQ. License: ,
Metamorphosis
A high available,high performance distributed messaging system. License: ,
Igniterealtime Openfire
A XMPP server licensed under the Open Source Apache License. License: ,
Zeromq Jzmq
Java binding for ZeroMQ. License: ,
Aeron
Efficient reliable unicast and multicast message transport. License:
- Apache ActiveMQ
Message broker that implements JMS and converts synchronous to asynchronous communication, License:
- Apache Camel
Glues together different transport APIs via Enterprise Integration Patterns, License:
- Apache Kafka
High-throughput distributed messaging system, License:
- Hermes
Fast and reliable message broker built on top of Kafka, License:
- JBoss HornetQ
Clear, concise, modular and made to be embedded, License:
Smack
Cross-platform XMPP client library. License: ,
- Apache Qpid
AMQP enterprise messaging implementation. License:
- Apache Synapse
Apache Synapse is a lightweight ESB engine and XML router. License:
- Apache ServiceMix
Apache ServiceMix is a flexible, open-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:
III. Network and Integration / 4. Http and ssh
Square Okhttp
An HTTP+HTTP/2 client for Android and Java applications. License: ,
AsyncHttpClient
Asynchronous Http and WebSocket Client library for Java. License: ,
Http request
Java HTTP Request Library. License: . ,
Nanohttpd
Tiny, easily embeddable HTTP server in Java. License: ,
Http kit
Hhttp-kit is a minimalist, event-driven, high-performance Clojure HTTP server/client library with WebSocket and asynchronous support. License: ,
Apache Zookeeper
Mirror of Apache Hadoop ZooKeeper. License: ,
Moco
Easy Setup Stub Server. License: ,
Webbit
A Java event based WebSocket and HTTP server. License: ,
Mashape Unirest java
Unirest in Java: Simplified, lightweight HTTP client library.. License: ,
Sshj
ssh, scp and sftp for java. License: ,
Netflix Feign
Feign makes writing java http clients easier. License: ,
III. Network and Integration / 5. Rest Frameworks
Square Retrofit
Type-safe REST client. License: ,
Dropwizard
Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. License: ,
Swagger
Swagger is a specification and complete framework implementation for describing, producing, consuming, and visualizing RESTful web services. License: ,
Generator jhipster
Hipster stack for Java developers. Spring Boot + AngularJS in one handy generator. License: ,
Jersey
JAX-RS reference implementation. License: ,
Linkedin Rest.li
Rest.li is a REST+JSON framework for building robust, scalable service architectures using dynamic discovery and simple asynchronous APIs. License: ,
Spring hateoas
Spring HATEOAS - Library to support implementing representations for hyper-text driven REST web services. License: ,
Feign
HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket. License:
- RESTEasy
Fully certified and portable implementation of the JAX-RS specification. License:
RestExpress
Thin wrapper on the JBOSS Netty HTTP stack to provide scaling and performance. License:
- RestX
Framework based on annotation processing and compile-time source generation. License:
- Spark
Sinatra inspired framework. License:
- Apache Wink
RESTFul web services based on JAX-RS specification. License:
- Apache Olingo
Apache Olingo is a Java and JavaScript library that implements the Open Data Protocol (OData). Open Data Protocol (OData) is an open protocol which allows the creation and consumption of queryable and interoperable RESTful APIs in a simple and standard way. License:
Rapidoid
A simple, secure and extremely fast framework consisting of embedded HTTP server, GUI components and dependency injection. License: ,
III. Network and Integration / 6. Integration frameworks
Jmxtrans
This is effectively the missing connector between speaking to a JVM via JMX on one end and whatever logging / monitoring / graphing package that you can dream up on the other end. License: ?,
Apache Camel
Apache Camel is a powerful open source integration framework based on known Enterprise Integration Patterns with powerful Bean Integration. License: ,
- Apache CXF
Apache CXF is an open source services framework. CXF helps you build and develop services using frontend programming APIs, like JAX-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:
Spring Integration
Spring Integration provides an extension of the Spring programming model to support the well-known Enterprise Integration Patterns (EIP). License: ,
III. Network and Integration / 7. Web Crawling and HTML parsering
Sparklemotion Nokogiri
Nokogiri is an HTML, XML, SAX, and Reader parser with XPath and CSS selector support. License: ,
Jsoup
Scrapes, parses, manipulates and cleans HTML. . . License: ,
Webmagic
A scalable web crawler framework. License: ,
Antlr4
ANTLR (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, or translating structured text or binary files. License: ,
Parboiled
Elegant parsing in Java and Scala - lightweight, easy-to-use, powerful. License: ,
Pegdown
A pure-Java Markdown processor based on a parboiled PEG parser supporting a number of extensions. License: ,
- Apache Nutch
Highly extensible, highly scalable web crawler for production environment. License:
Crawler4j
Simple and lightweight web crawler. License:
III. Network and Integration / 8. Json
Alibaba Fastjson
Fast JSON Processor , . and . License:
Gson
Serializes objects to JSON and vice versa. Good performance with on-the-fly usage, . and . License:
LoganSquare
JSON parsing and serializing library based on Jackson's streaming API. Outpeforms GSON & Jackson's library, . and . License:
JSON java
A reference implementation of a JSON package in Java, . and . License:
Square Moshi
A modern JSON library for Android and Java , . and . License:
Instagram Ig json parser
Fast JSON parser for java projects, . and . License:
- Jackson
Similar to GSON but has performance gains if you need to instantiate the library more often. Subprojects: Core part of Jackson, Core part of Jackson that defines Streaming API as well as basic shared abstractions, . and . License:
JSON.simple
A simple Java toolkit for JSON. You can use json-simple to encode or decode JSON text, . and . License:
Genson
-Powerful and easy to use Java to JSON conversion library, . and . License:
Jayway JsonPath
Java JsonPath implementation, . and . License:
Alibaba Fastjson
Fast JSON Processor , . and . License:
Jsonschema2pojo
Generates Java types from JSON Schema (or example JSON) and annotates those types for data-binding with Jackson 1.x or 2.x, Gson, etc. , . and . License:
Json schema validator
A JSON Schema validation implementation in pure Java, which aims for correctness and performance, in that order, also can generate Java types from JSON Schema or versa versa, . and . License: /
III. Network and Integration / 9. CSV
- opencsv
Simple CSV parser with a commercial-friendly license. License:
- Super CSV
Powerful CSV parser with support for Dozer, Joda-Time and Java 8. License:
uniVocity-parsers
One of the fastest and most feature-complete CSV. Also comes with parsers for TSV and fixed width records. License:
III. Network and Integration / 10. Integratin with API
Twitter Zipkin
Zipkin is a distributed tracing system. It helps gather timing data needed to troubleshoot latency problems in microservice architectures. License: ,
Wizcorp Phonegap facebook plugin
The official plugin for Facebook in Apache Cordova/PhoneGap. License: ,
Twitter4j
Twitter4J is an open-sourced, mavenized and Google App Engine safe Java library for the Twitter API. License: ,
Netflix Ice
AWS (Amazon Web Services) Usage Tool. License: ,
Twitter Commons
Twitter common libraries for python and the JVM. License: ,
- Alibaba RocketMQ
RocketMQ is a fast, reliable, scalable, easy to use message oriented middleware breeding from alibaba massive messaging business. License: ,
Twitter Hbc
A Java HTTP client for consuming Twitter's Streaming API. License: ,
III. Network and Integration / 11. Bitcoin
XChange
XChange is a Java library providing a streamlined API for interacting with 50+ Bitcoin and Altcoin exchanges providing a consistent interface for trading and accessing market data. License: ,
bitcoinj
A library for working with Bitcoin. License: ,
DiabloMiner
OpenCL miner for Bitcoin. License: ,
III. Network and Integration / 12. Clouds
Netflix SimianArmy
Tools for keeping your cloud operating in top form. Chaos Monkey is a resiliency tool that helps applications tolerate random instance failures. License: ,
Netflix Eureka
AWS Service registry for resilient mid-tier load balancing and failover.. License: ,
Aws sdk java
Official mirror of the AWS (Amazon Web Services) SDK for Java. License: ,
Syncany
Syncany is a cloud storage and filesharing application with a focus on security and abstraction of storage. License: ,
Legacy Jclouds
jclouds is an open source library that helps you get started in the cloud and reuse your java development skills. Our api allows you to freedom to use portable abstractions or cloud-specific features. We support many clouds including Amazon, VMWare, Azure, and Rackspace. License: ,
Elasticsearch
Open Source, Distributed, RESTful Search Engine. License: ,
Elasticsearch cloud aws
AWS Cloud Plugin for Elasticsearch. License: ,
Elasticsearch analysis ik
The IK Analysis plugin integrates Lucene IK analyzer into elasticsearch, support customized dictionary. License: ?,
- Apache CloudStack
Apache CloudStack is an IaaS (“Infrastracture as a Service”) cloud orchestration platform. License:
- Apache Stratos
Apache Stratos is a highly-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 Airavata
Apache Airavata is a software framework for executing and managing computational jobs and workflows on distributed computing resources including local clusters, supercomputers, national grids, academic and commercial clouds. Airavata is dominantly used to build Web-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:
Quarkus
Quarkus is a Cloud Native, (Linux) Container First framework for writing Java applications
III. Network and Integration / 13. Cluster Management
- Apache Aurora
Apache Aurora is a Mesos framework for long-running services and cron jobs. License:
- 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
A cluster management framework for partitioned and replicated distributed resources. License:
- Apache Airavata
Apache Airavata is a software framework for executing and managing computational jobs and workflows on distributed computing resources including local clusters, supercomputers, national grids, academic and commercial clouds. Airavata is dominantly used to build Web-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:
III. Network and Integration / 14. Document Processing (XLS, DOC and PDF)
- Apache POI
Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). License:
- documents4j
API for document format conversion using third-party converters such as MS Word. License:
- Docx4j
Docx4j is an open source Java library for manipulating Microsoft OpenXML files (Word docx, Powerpoint pptx, and Excel xlsx) via JAXB. License:
- jOpenDocument
Processes the OpenDocument format. License: or proprietary. and
- Apache Tika
The Apache Tika toolkit detects and extracts metadata and structured text content from various documents using existing parser libraries. License:
- Apache FOP
Creates PDF from XSL-FO. License:
- Apache PDFBox
Toolbox for creating and manipulating PDF. License:
- DynamicReports
Simplifies JasperReports. License:
flyingsaucer
XML/XHTML and CSS 2.1 renderer. License:
- iText
Creates PDF files programmatically but current versions require a license for commercial purposes. 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: and . The jars can be downloaded from . 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:
III. Network and Integration / 15. Native
Java Native Access (JNA)
Work with native libraries without writing JNI. Also provides interfaces to common system libraries. License: or . ,
JNR
Work with native libraries without writing JNI. Also provides interfaces to common system libraries. Same goals as JNA, but faster, and serves as the basis for the upcoming . License:
III. Network and Integration / 16. XML and SOAP
- Xalan
Xalan-J is an XSLT processor written in Java. License:
- Xerces
Xerces-J is a validating XML parser written in Java. License:
- XML Graphics
Conversion from XML to graphical output. License:
- Santuario
Library implementing XML Digital Signature Specification & XML Encryption Specification. License:
- VXQuery
Apache VXQuery implements a parallel XML Query processor. License:
- Apache Axis
Web Service containers that helps users to create, deploy, and run Web Services. Axis2 is a Web Services / SOAP / WSDL engine, the successor to the widely used Apache Axis SOAP stack. License:
III. Network and Integration / 17. Geospatial Service Interation
- Apache SIS
Library for developing geospatial applications. License:
Geo
GeoHash utilities in Java. License:
- Geotoolkit.org
Library for developing geospatial applications. Built on top of the Apache SIS project. License:
- GeoTools
Library that provides tools for geospatial data. License:
- H2GIS
A spatial extension of the H2 database. License:
- Jgeohash
Library that can assist Java developers in using the GeoHash algorithm. License:
- JTS Topology Suite
An API of 2D spatial predicates and functions. License:
Mapsforge
Software for the rendering of maps based on OpenStreetMap data. License:
Spatial4j
General purpose spatial/geospatial ASL licensed open-source Java library. License:
III. Network and Integration / 18. Reverse Proxy Servers
Membrane Service Proxy
An open source, reverse HTTP proxy framework written in Java. License: ,
IV. Testing / 1. Testing
ArchUnit
is a free, simple and extensible library for checking the architecture of your Java code. License: ,
Junit
Common testing framework. License: ,
Mockito
Creation of test double objects in automated unit tests for the purpose of TDD or BDD. License: ,
Selenium
Portable software testing framework for web applications. License: ,
Cucumber jvm
BDD testing framework. Cucumber-JVM is a pure Java implementation of Cucumber that supports the most popular programming languages for the JVM. . License: ,
JBehave
extensively configurable framework for Behavior-Driven Development (BDD). BDD is an evolution of test-driven development (TDD) and acceptance-test driven design, and is intended to make these practices more accessible and intuitive to newcomers and experts alike. License: ,
Spock
JUnit-compatible framework featuring an expressive Groovy-derived specification language. License: ,
Google Firing range
Firing Range is a test bed for web application security scanners, providing synthetic, wide coverage for an array of vulnerabilities. It can be deployed as a Google App Engine application. License: ,
Fitnesse
FitNesse is the fully integrated stand-alone acceptance testing framework and wiki.. License: ,
Sikuli
Sikuli is a visual technology to automate graphical user interfaces (GUI) using images (screenshots). The current release of Sikuli includes Sikuli Script, a visual scripting API for Jython, and Sikuli IDE, an integrated development environment for writing visual scripts with screenshots easily. License: ,
JavaHamcrest
Matchers that can be combined to create flexible expressions of intent. License: ,
Wiremock
Stubbs and mocks web services. License: ,
TestNG
Testing framework. License: ,
Galenframework Galen
Layout and functional testing framework for websites. License: ,
AssertJ
Fluent assertions that improve readability. License: ,
Google truth
Google's assertion and proposition framework. License: ,
- Apache JMeter
Functional testing and performance measurements. License:
- Arquillian
Integration and functional testing platform for Java EE containers. License:
Awaitility
DSL for synchronizing asynchronous operations. License:
- Citrus
Integration testing framework with focus on client- and serverside messaging. License:
- Gatling
Load testing tool designed for ease of use, maintainability and high performance. License:
- GreenMail
In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. License:
- JGiven
Developer-friendly BDD testing framework compatible with JUnit and TestNG. License:
- JMockit
Mocks static, final methods and more. License:
- JUnitParams
Creation of readable and maintainable parametrised tests. License:
Moco
Concise web services for stubs and mocks, Duke's Choice Award 2013. License:
- PIT
Fast mutation-testing framework for evaluating fault-detection abilities of existing JUnit or TestNG test-suites. License:
PowerMock
Enables mocking of static methods, constructors, final classes and methods, private methods and removal of static initializers. License:
REST Assured
Java DSL for easy testing for REST/HTTP services. License:
- Selenide
-Concise API around Selenium to write stable and readable UI tests. License:
- Unitils
Modular testing library for unit and integration testing. License:
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, . License:
- cdp4j
Web-automation library for Java. It can be used for automating the use of web pages and for testing web pages. License:
Image-Comparison
Published on Maven Central Java Library that compares 2 images with the same sizes and shows the differences visually by drawing rectangles. Some parts of the image can be excluded from the comparison. License:
LogCaptor
Captures log entries for unit testing purposes. License: ,
IV. Testing / 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: , ,
- Clover
Proprietary code coverage tool by Atlassian that relies on source-code instrumentation, instead of bytecode instrumentation
- Cobertura
Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. License:
- JCov
Code coverage tool used in the OpenJDK project's development toolchain. License:
IV. Testing / 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
- fabric8
Integration platform for containers. License:
- Go
ThoughtWork's open-source solution. License:
- Jenkins
Provides server-based deployment services. License:
- TeamCity
JetBrain's CI solution with a free version
- 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:
- Apache Continuum
Apache Continuum software is an enterprise-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:
IV. Testing / 4. Formal Verification
CATG
Concolic unit testing engine. Automatically generates unit tests using formal methods. License: , License:
- Checker Framework
Pluggable type systems. Includes nullness types, physical units, immutability types and more. License:
- Daikon
Daikon detects likely program invariants and can generate JML specs based on those invariats. 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:
- Java Path Finder (JPF)
JVM formal verification tool containing a model checker and more. Created by NASA. License:
jCUTE
Concolic unit testing engine that automatically generates unit tests. Concolic execution combines randomized concrete execution with symbolic execution and automatic constraint solving
- 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:
- 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:
- OpenJML
Translates JML specifications into SMT-LIB format and passes the proof problems implied by the program to backend solvers. License: and
V. Tools for developing / 1. IDE
JetBrains Intellij Сommunity
Supports a lot of JVM languages and provides good options for Android development. The commercial edition targets the enterprise sector. License: ,
JetBrains Ideavim
Vim emulation plug-in for IDEs based on the IntelliJ platform. License: ,
Rstudio
RStudio is an integrated development environment (IDE) for R. License: ,
Vrapper
Vim-like editing in Eclipse. License: .0,
Eclipse themes
Jeeeyul's Eclipse Themes allows you to customize every single details of Eclipse's appearance. License: ,
Eclipse color theme
Color themes for Eclipse. License: ,
Eclim
Expose eclipse features inside of vim. License: ,
JetBrains MPS
JetBrains Meta programming System. Design your own Domain Specific Language with full development environment. Get code editor with completion, semantics and type checking with one click. Write generators to compile your DSL into multiple target languages, such as Java, C, XML, and many more. License: ,
Idea markdown
Markdown language support for IntelliJ IDEA. License: ,
- Eclipse
Established, open-souce project with support for lots of plugins and languages. License:
- NetBeans
Provides integration for several Java SE and EE features from database access to HTML5. License: and
V. Tools for developing / 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. License: ,
Google Bazel
Build tool from Google that builds code quickly and reliably. License: ,
Gradle
Incremental builds which are programmed via Groovy instead of declaring XML. Works well with Maven's dependency management. License: ,
- 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: - testing Ant task, - support additional archive formats, - very powerful dependency manager, - IvyDE plugin for Eclipse. License:
Facebook Buck
A fast build system that encourages the creation of small, reusable modules over a variety of platforms and languages. License: ,
- Archiva Apache
The Build Artifact Repository Manager. Apache Archiva™ is an extensible repository management software that helps taking care of your own personal or enterprise-wide build artifact repository. It is the perfect companion for build tools such as Maven, Continuum, and ANT. License:
config
Configuration library for JVM languages. License: ,
owner
Reduces boilerplate of properties. License:
Netflix Archaius
Library for configuration management API. Archaius includes a set of configuration management APIs used by Netflix. License: ,
- LightAdmin
Pluggable data administration UI library for Java web applications. License:
- Apache Yetus
A collection of libraries and tools that enable contribution and release processes for software projects. License:
- 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
Capsule
Simple and powerful packaging and deployment. A fat JAR on steroids or a "Docker for Java" that supports JVM-optimized containers. . License:
- 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
IzPack
Setup authoring tool for cross-platform deployments. License: , )
JitPack
Easy to use package repository for GitHub. Builds Maven/Gradle projects on demand and publishes ready-to-use packages. License: , )
- Launch4j
Wraps JARs in lightweight and native Windows executables. License: or
- Nexus
Binary management with proxy and caching capabilities
packr
Packs JARs, assets and the JVM for native distribution on Windows, Linux and Mac OS X. License:
Spotify Helios
Docker container orchestration platform. License: ,
V. Tools for developing / 3. Perfomance tools
Square Leakcanary
A memory leak detection library for Android and Java. License: ,
Dropwizard Metrics
Capturing JVM- and application-level metrics. License: ,
GCViewer
Fork of tagtraum industries' GCViewer. Tagtraum stopped development in 2008, I aim to improve support for Sun's / Oracle's java 1.6+ garbage collector logs (including G1 collector). License: ,
AdoptOpenJDK Jitwatch
Log analyser / visualiser for Java HotSpot JIT compiler. Inspect inlining decisions, hot methods, bytecode, and assembly. View results in the JavaFX user interface. License: ,
Naver Pinpoint
Pinpoint is an open source APM (Application Performance Management) tool for large-scale distributed systems written in Java. License: ,
jHiccup
Logs and records platform JVM stalls. License:
- JMH
Microbenchmarking tool for the JVM. License:
LatencyUtils
Utilities for latency measurement and reporting. License:
- VisualVM
Visual interface for detailed information about running applications. License:
- YourKit Java Profiler
Commercial profiler
- JProfiler
Commercial profiler
- XRebel
A commercial profiler for Java Web applications
V. Tools for developing / 4. Code Analysis
SonarQube
Integrates other analysis components via plugins and provides an overview of the metrics over time. License: ,
Google Error prone
Catches common programming mistakes as compile-time errors. License: ,
OpenGrok
OpenGrok is a fast and usable source code search and cross reference engine, written in Java. It helps you search, cross-reference and navigate your source tree. It can understand various program file formats and version control histories like Mercurial, Git, SCCS, RCS, CVS, Subversion, Teamware, ClearCase, Perforce, Monotone and Bazaar. License: , )
Checkstyle
Static analysis of coding conventions and standards. License:
- FindBugs
Static analysis of bytecode to find potential bugs. License:
- jQAssistant
Static code analysis with Neo4J-based query language. License:
PMD
Source code analysis for finding bad coding practices. License:
V. Tools for developing / 5. Monitoring
- AppDynamics
Commercial performance monitor
JavaMelody
Performance monitoring and profiling. License:
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:
- Kamon
Tool for monitoring applications running on the JVM. License:
- Glowroot
Open source Java APM. License:
- New Relic
Commercial performance monitor
- SPM
Commercial performance monitor with distributing transaction tracing for JVM apps
- OverOps
Root cause automation in production
- 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:
- 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:
HotswapAgent
Java unlimited redefinition of classes at runtime. License:
- JRebel
Reload code changes instantly. Skip the build and redeploy process. JRebel reloads changes to Java classes, resources, and over 90 frameworks
Spring Loaded
Java agent that enables class reloading in a running JVM. License:
V. Tools for developing / 7. Documentation
Markdown-doclet:
A Doclet that allows the use of Markdown ( ) and in JavaDoc comments. License: ,
V. Tools for developing / 8. Other
Google J2ObjC:
A Java to iOS Objective-C translation tool and runtime. License: ,
Bytecode viewer
A Java 8 Jar & Android APK Reverse Engineering Suite (Decompiler, Editor, Debugger & More). License: ,
Reflections
Java runtime metadata analysis, in the spirit of Scannotations. Reflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project. License: ,
Jabba:
Java Version Manager inspired by (Node.js). The goal is to provide unified pain-free experience of installing (and switching between different versions of) JDK. License ,
- Chocotea:
Generates postman collection, environment and integration tests from java code. License ,
- JDK 9
Early access releases of JDK 9. License:
- OpenJDK
Open-source implementation for Linux. License:
- Zulu OpenJDK
OpenJDK builds for Windows, Linux, and Mac OS X through Java 8. License:
- Zulu OpenJDK 9
Early access OpenJDK 9 builds for Windows, Linux, and Mac OS X. License:
VI. Program languages and applications that were written with Java / 1. Program languages that were written with Java
Clojure
The Clojure programming language. License: ,
JetBrains Kotlin
The Kotlin Programming Language. License: ,
Gocd
Main repository for Go Continuous Delivery. License: ,
Groovy core
The Groovy programming language. License: ,
Jphp compiler Jphp
An alternative to Zend PHP, like JRuby and Jython only for PHP. License: ,
Trifork Erjang
A JVM-based Erlang VM. License: ,
VI. Program languages and applications that were written with Java / 2. Other program languages tools that were written with Java
Go lang idea plugin
Google Go language IDE built using the IntelliJ Platform. License: ,
Processing js
A port of the Processing visualization language to JavaScript. License: ,
Pysonar2
PySonar2 is a type inferencer and indexer for Python, which performs sophisticated interprocedural analysis to infer types. License: ,
VI. Program languages and applications that were written with Java / 3. Javascript
Yuicompressor
The YUI Compressor is a JavaScript compressor which, in addition to removing comments and white-spaces, obfuscates local variables using the smallest possible variable name. License: ,
Google Closure compiler
A JavaScript checker and optimizer. License: ,
Frontend maven plugin
"Maven-node-grunt-gulp-npm-node-plugin to end all maven-node-grunt-gulp-npm-plugins." A Maven plugin that downloads/installs Node and NPM locally, runs NPM install, Grunt, Gulp and/or Karma. License: ,
Dynjs
ECMAScript runtime for the JVM. License: ,
VI. Program languages and applications that were written with Java / 4. Frameworks that help to create parsers, interpreters or compilers
VI. Program languages and applications that were written with Java / 5. Opensource applications that were written with Java
Square Keywhiz
A system for distributing and managing secrets. License: ,
Rundeck
Job scheduler and runbook automation. Enable self-service access to existing scripts and tools. License: ,
KeyBox
KeyBox is a web-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: ,
OpenTripPlanner
An open source multi-modal trip planner. License: ,
Netflix Servo
Netflix Application Monitoring Library. License: ,
Jitsi
Jitsi is an audio/video and chat communicator that supports protocols such as SIP, XMPP/Jabber, AIM/ICQ, IRC, Yahoo! and many other useful features. License: ,
Netflix Exhibitor
ZooKeeper co-process for instance monitoring, backup/recovery, cleanup and visualization. License: ,
Glyptodon Guacamole client
The HTML5/JavaScript Guacamole client, its containing web application, and related components. License: ,
Bateman
Simple stock trading system that optimizes its parameters with particle swarm optimization. License: ,
Java repl
Java REPL is a simple Read-Eval-Print-Loop for Java language. License: ,
Seyren
An alerting dashboard for Graphite. License: ,
Graphhopper
Open source routing library and server using OpenStreetMap. License: ,
Ttorrent
Turn's BitTorrent Java library (tracker and client). License: ,
Geoserver
Official GeoServer repository. License: .0,
Languagetool
Style and Grammar Checker for 25+ Languages. License: ,
- Apache OpenMeetings
Video conferencing, instant messaging, white board and collaborative document editing application. License:
VI. Program languages and applications that were written with Java / 6. Opensource games that were written with Java
Bukkit
The Minecraft Mod API. License: ,
MovingBlocks Terasology
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: ,
MinecraftForge
Modifications to the Minecraft base files to assist in compatibility between mods. License: ,
SpongePowered Sponge
A Forge mod that implements SpongeAPI. License: ,
BuildCraft
BuildCraft — mod for Minecraft. License: ,
Equivalent Exchange 3
pahimar Equivalent-Exchange-3. Mods for Minecraft. License: ,
SpongePowered SpongeAPI
A Minecraft plugin API. License: ,
WorldEdit
An in-game voxel map editor for Minecraft. License: ,
Essentials
Essentials - Minecraft server command mod - Adds over 100 commands for use in-game to help manage a server. License: ,
GlowstoneMC Glowstone
An open-source server for the Bukkit Minecraft modding interface. License: ,
Tribal Trouble
Tribal Trouble is a realtime strategy game released by Oddlabs in 2004. In 2014 the source was released under GPL2 license. License: ,
VII. Other / 1. Source code examples
Java design patterns
Design patterns implemented in Java. License: ,
Spring projects Spring mvc showcase
Demonstrates the capabilities of the Spring MVC web framework through small, simple examples. License: ,
Javaee7 samples
Java EE 7 Samples. License: /CDDL/GPLv2,
Algorithms
Solutions for some common algorithm problems written in Java. License: ,
WikiSort
Fast and stable sort algorithm that uses O(1) memory. License: ,
Spring petclinic
A sample Spring-based application. License: ,
Spring integration samples
You are looking for examples, code snippets, sample applications for Spring Integration? This is the place. License: ,
Java algorithms implementation
Algorithms and Data Structures implemented in Java. License: ,
Jboss developer Jboss eap quickstarts
The quickstarts demonstrate JBoss EAP, Java EE 7 and a few additional technologies. They provide small, specific, working examples that can be used as a reference for your own project. License: ,
Databricks Learning spark
Example code from Learning Spark book. License: ,
7guis
7GUIs is a GUI programming usability benchmark. License: ?,
Spring projects Spring data jpa examples
Spring Data Example Projects. License: ,
Modern Java - A Guide to Java 8
Modern Java - A Guide to Java 8. License:
- Java Micro code pieces
community library of micro Java code solutions for popular issues
VII. Other / 2. Benchmark results
Jvm serializers
Benchmark comparing serialization libraries on the JVM. License: ?,
YCSB (Yahoo! Cloud Serving Benchmark)
Yahoo! Cloud Serving Benchmark. License: ,
VII. Other / 3. Working with git and github
Gitblit
Gitblit is an open source, pure Java Git solution for managing, viewing, and serving Git repositories. It can serve repositories over the GIT, HTTP, and SSH transports; it can authenticate against multiple providers; and it allows you to get up-and-running with an attractive, capable Git server in less than 5 minutes.. License: ,
WhisperSystems BitHub
BTC + BitHub = An experiment in funding privacy OSS. BitHub is a service that will automatically pay a percentage of Bitcoin funds for every submission to a GitHub repository. License: ?,
VIII. Resources / 1. Communities
- r/java
Subreddit for the Java community
- stackoverflow
Question/answer platform
- vJUG
Virtual Java User Group
- DevProjects
Community to discuss Java projects and share solutions
VIII. Resources / 2. Influential Books
VIII. Resources / 3. Websites
Nothing in this list matches your filter.
Featured in 1 awesome list
Each link jumps to the spot where the list mentions useful-java-links.