useful-java-links Documentation

A list of useful Java frameworks, libraries, software and hello worlds examples

RAW Doc

ℹ️ Provenance: Multi-Tier Ingestion · CodeWiki Reference

Overview (`readme.md`)

This is a fork of awesome link with new structure, additional license info and github's star info for every link, with a lot of new links (all non-mobile github projects with 390 or more star) and so on. The russian version is in this place.
The "Hello Worlds examples" project is in this place.

I. Development

1. Common frameworks and libraries

Up

  1. Spring framework The Spring Framework provides a comprehensive programming and configuration model for modern Java-based enterprise applications -- on any kind of deployment platform. A key element of Spring is infrastructural support at the application level: Spring focuses on the "plumbing" of enterprise applications so that teams can focus on application-level business logic, without unnecessary ties to specific deployment environments. License: Apache 2 , , stackoverflow - more 100 000 questions.
  2. Google Guava The Guava project contains several of Google's core libraries that we rely on in our Java-based projects: collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and so forth.Requires JDK 1.6 or higher (as of 12.0). License: Apache 2 , .
  3. Apache Commons - Apache Commons is an Apache project focused on all aspects of reusable Java components.Commons Proper is dedicated to one principal goal: creating and maintaining reusable Java components. License: Apache 2.
  4. Spring Boot — Spring Boot makes it easy to create Spring-powered, production-grade applications and services with absolute minimum fuss. It takes an opinionated view of the Spring platform so that new and existing users can quickly get to the bits they need. License: Apache 2 , .
  5. Lombok Very spicy additions to the Java programming language. Project Lombok makes java a spicier language by adding 'handlers' that know how to build and compile simple, boilerplate-free, not-quite-java code. License: MIT , .
  6. Puniverse Quasar Fibers, Channels and Actors for the JVM. Hello World examples. License: Eclipse Public v1.0/GNU Lesser 3, .
  7. Rootbeer GPU CompilerThe Rootbeer GPU Compiler lets you use GPUs from within Java. License: MIT , .
  8. Oblac Jodd Jodd is set of open-source Java micro frameworks and tools; floppy size! Jodd = tools + ioc + mvc + db + aop + tx + json + html < 1.5 Mb. License: BSD 2, .
  9. Google Jimfs An in-memory file system for Java 7+. License: Apache 2 , .
  10. Spring batch Spring Batch is a framework for writing offline and batch applications using Spring and Java. License: Apache 2 , .
  11. 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: Apache 2 , .
  12. Greenrobot common General purpose utilities and hash functions for Android and Java (aka java-common). License: Apache 2 , .
  13. Kilim Lightweight threads for Java, with message passing, nio, http and scheduling support. License: MIT , .
  14. 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 2.
  15. 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: Apache 2.
  16. Embedchain-JS Framework to easily create LLM powered bots over any dataset.

2. Web development

Up

Web Frameworks

  1. Play Framework The Play Framework combines productivity and performance making it easy to build scalable web applications with Java and Scala. https://www.playframework.com/ . License: Apache 2 , .
  2. Spark Spark - a Sinatra inspired web framework. License: Apache 2 , .
  3. Blade a simple, elegant java web framework! License: Apache 2 , .
  4. Atmosphere - Realtime Client Server Framework for the JVM, supporting WebSockets with Cross-Browser Fallbacks. License: CDDL1 / Apache 2 , .
  5. 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. https://grails.org/ License: Apache 2 , .
  6. Ninja Ninja is a full stack web framework for Java. Rock solid, fast and super productive. .http://www.ninjaframework.org. License: Apache 2 , .
  7. Electronicarts Orbit — Orbit - Virtual actor framework for building distributed systems. License: BSD 3, .
  8. Ratpack Ratpack is a simple, capable, toolkit for creating high performance web applications. Ratpack is built on Java and the Netty event-driven networking engine. The API is optimized for Groovy and Java 8.. https://ratpack.io/ License: Apache 2 , .
  9. Vaadin — Vaadin is a Java framework for building modern web applications that look great, perform well and make you and your users happy.https://vaadin.com/ License: Apache 2 , .
  10. ZK framework ZK is a highly productive Java framework for building amazing enterprise web and mobile applications. License: GNU Lesser, .
  11. Apache Tapestry - A component-oriented framework for creating highly scalable web applications in Java. License: Apache 2.
  12. Apache Wicket - Open Source Java web framework that powers thousands of web applications and web sites for governments, stores, universities, cities, banks, email providers, and more. License: Apache 2.
  13. Google Web Toolkit - GWT is used by many products at Google, including Google AdWords and Google Wallet. It's open source, completely free, and used by thousands of enthusiastic developers around the world. License: Apache 2.
  14. Pippo - It's an open source micro web framework in Java, with minimal dependencies and a quick learning curve.The goal of this project is to create a micro web framework in Java that should be easy to use and hack. Pippo can be used in small and medium applications and also in applications based on micro services architecture. License: Apache 2.
  15. Spring MVC - Spring MVC web application and RESTful web service framework. License: Apache 2.
  16. JavaServer Faces - JavaServer™ Faces technology simplifies building user interfaces for JavaServer applications. License: GNU 2 or CDDL 1.0
  17. JavaServer Pages - This project provides a container independent implementation of JSP 2.1. License: GNU 2 or CDDL 1.0
  18. Apache Cocoon Web development framework: separation of concerns, component-based. License: Apache 2.
  19. Apache Struts Apache Struts is a free open-source framework for creating Java web applications. License: Apache 2.
  20. Apache Sling Innovative Web framework based on JCR and OSGi. License: Apache 2.
  21. Apache MyFaces The first free open source JavaServer(tm) Faces implementation. License: Apache 2.
  22. Apache Pivot Apache Pivot is an open-source platform for building installable Internet applications (IIAs) [rich Internet application]. License: Apache 2.
  23. Apache Turbine Turbine is a servlet based framework that allows Java developers to quickly build web applications. License: Apache 2.
  24. Apache OODT Apache OODT software is component based, and offers a software architecture beyond simple science applications. License: Apache 2.
  25. 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, . http://www.vraptor.org . License: Apache 2.
  26. Jooby Scalable, fast and modular micro web framework for Java , . http://jooby.org/ . License: Apache 2.
  27. CUBA Platform - High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin. https://cuba-platform.com . License: Apache 2.
  28. 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.

Libraries for web development

  1. Tobie ua-parser A multi-language port of Browserscope's user agent parser. License: Apache 2/MIT/Perl, .
  2. Ghost Driver Ghost Driver is an implementation of the Remote WebDriver Wire protocol, using PhantomJS as back-end. License: BSD 2, .
  3. B3log Solo - A blogging system written in Java, feel free to create your or your team own blog. License: Apache 2 , .
  4. Nasher - A Spring Project with spring security support with angular admin panel. License: Apache 2 , .
  5. Baasbox BaasBox is an Open Source project that aims to provide a backend for mobile and web apps. License: ?, .
  6. Kolorobot Spring MVC 4 Quickstart Maven Archetype — The project is a Maven archetype for Spring MVC 4 web application. License: ?, .
  7. Gargl - Record web requests as they happen and turn them into reusable code in any programming language. Gargl - Generic API Recorder and Generator Lite. Pronounced "Gargle." Automate any website. Record web requests as they happen and turn them into reusable code in any programming language. License: MIT , .
  8. Liferay plugins - The liferay-plugins repository is part of the Liferay Portal project. Liferay Portal is an open source enterprise web platform for building business solutions that deliver immediate results and long-term value. License: GNU Lesser 2.1, .
  9. Netflix Ribbon Ribbon is a Inter Process Communication (remote procedure calls) library with built in software load balancers. The primary usage model involves REST calls with various serialization scheme support. License: Apache 2 , .
  10. Gwt bootstrap A GWT Library that provides the widgets of Bootstrap, from Twitter. License: Apache 2 , .
  11. Netflix Zuul Zuul is an edge service that provides dynamic routing, monitoring, resiliency, security, and more. License: Apache 2 , .
  12. PrimeFaces - PrimeUI is a pure CSS-JS library designed to work with any server side and client side technology featuring 50+ jQuery Widgets, Web Components, Premium Layouts-Themes and more. PrimeUI is an offspring project of the mighty PrimeFaces. License: Apache 2.
  13. Spring Boot - Spring Boot makes it easy to create Spring-powered, production-grade applications and services with absolute minimum fuss. It takes an opinionated view of the Spring platform so that new and existing users can quickly get to the bits they need. License: Apache 2.
  14. CSSEmbed A tool for embedding data URIs in CSS files. License: MIT , .
  15. Athou commafeed Google Reader inspired self-hosted RSS reader. License: Apache 2 , .
  16. 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 2.
  17. 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 2.

Template Engine

  1. Apache Velocity - Velocity is a project of the Apache Software Foundation, charged with the creation and maintenance of open-source software related to the Apache Velocity Engine (templating engine). License: Apache 2.
  2. Apache FreeMarker - Apache FreeMarker is a template engine: a Java library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data. License: Apache 2.
  3. Handlebars.java - Logic-less and semantic templates with Java, . License: Apache 2.
  4. Thymeleaf - It is a template engine capable of processing and generating HTML, XML, JavaScript, CSS and text, and can work both in web and non-web environments. It is better suited for serving the view layer of web applications, but it can process files in many formats, even in offline environments. License: Apache 2.
  5. Mustache.java - Implementation of mustache.js (web application templating system) for Java. License: Apache 2 , .
  6. Apache Tiles Apache Tiles is a templating framework built to simplify the development of web application user interfaces. License: Apache 2.

CMS and content management

  1. Apache Stanbol Software components for semantic content management. License: Apache 2.
  2. Apache JSPWiki A feature-rich and extensible WikiWiki engine built around the standard J2EE components (Java, servlets, JSP). icense: Apache 2.
  3. Apache Portals The Apache Portals project provides various software products, including Apache Jetspeed-2, Apache Pluto, and Apache Portals Applications. License: Apache 2.
  4. Apache Roller Apache Roller is a full-featured, multi-user and group blog server suitable for blog sites large and small. License: Apache 2.
  5. Apache Chemistry Apache Chemistry provides open source implementations of the Content Management Interoperability Services (CMIS) specification. License: Apache 2.
  6. Jease Jease eases the development of content- & database-driven web-applications with Java. License: GPL v3.

3. GUI

  1. JavaFX - JavaFX is the next step in the evolution of Java as a rich client platform. It is designed to provide a lightweight, hardware-accelerated Java UI platform for enterprise business applications. License: Oracle, proprietary.
  2. Scene Builder - JavaFX Scene Builder is a visual layout tool that lets users quickly design JavaFX application user interfaces, without coding. Users can drag and drop UI components to a work area, modify their properties, apply style sheets, and the FXML code for the layout that they are creating is automatically generated in the background. The result is an FXML file that can then be combined with a Java project by binding the UI to the application’s logic. License: Oracle, proprietary. , but see Gluon Scene Builder.
  3. Gluon Scene Builder - Scene Builder is free and open source JavaFX Scene Builder, but is backed by Gluon. Commercial support offerings are available, including training and custom consultancy services. License: BSD.
  4. SWT - SWT is an open source widget toolkit for Java designed to provide efficient, portable access to the user-interface facilities of the operating systems on which it is implemented. License: Eclipse Public License v1.0.
  5. Lanterna - Lanterna is a Java library allowing you to write easy semi-graphical user interfaces in a text-only environment, very similar to the C library curses but with more functionality. License: LGPL 2.1.
  6. Gephi - Gephi is an award-winning open-source platform for visualizing and manipulating large graphs. It runs on Windows, Mac OS X and Linux. Localization is available in French, Spanish, Japanese, Russian, Brazilian Portuguese, Chinese and Czech. License: GNU 3 or CDDL 1.0.
  7. Codename One - Open-source cross-platform app development solution for writing native apps for desktop, web & mobile in Java/Kotlin. (GPL + Classpath Exception)

4. Business

Up

  1. Codecademy EventHub — An open source event analytics platform. License: MIT , .
  2. Killbill - Open-Source Subscription Billing & Payment Platform . License: Apache 2 , .
  3. Activiti Activiti is a light-weight workflow and Business Process Management (BPM) Platform targeted at business people, developers and system admins. Its core is a super-fast and rock-solid BPMN 2 process engine for Java. License: Apache 2 , .
  4. Liferay Portal Liferay Portal is an open source enterprise web platform for building business solutions that deliver immediate results and long-term value. Liferay Portal started out as a personal development project in 2000 and was open sourced in 2001. License: GNU Lesser 2.1, .
  5. Broadleaf Commerce - Broadleaf Commerce - Enterprise eCommerce framework based on Spring. License: Broadleaf Fair Use , .
  6. Droolsjbpm Drools Drools Expert is the rule engine and Drools Fusion does complex event processing (CEP). License: Apache 2 , .
  7. Spring Roo — Spring Roo is a next-generation rapid application development tool for Java developers. It focuses on higher productivity, stock-standard Java APIs, high usability, avoiding engineering trade-offs and facilitating easy Roo removal. License: Apache 2 , .
  8. Apache OFBiz Apache OFBiz (The Apache Open For Business Project) is an open source enterprise automation software project. License: Apache 2.
  9. Apache Portals The Apache Portals project provides various software products, including Apache Jetspeed-2, Apache Pluto, and Apache Portals Applications. License: Apache 2.
  10. Apache ODE Apache ODE is a WS-BPEL implementation that supports web services orchestration using flexible process definitions. License: Apache 2.

5. Game Development

Up

  1. libgdx Desktop/Android/HTML5/iOS Java game development framework. License: Apache 2 , .

  2. Disunity An experimental toolset for Unity asset and asset bundle files. License: unlicense.org, .

  3. LibGDX/LWJGL LibGDX/LWJGL tutorials and examples. License: ?, .

  4. jMonkeyEngine A complete 3D game development suite written purely in Java.. https://jmonkeyengine.org/ License: BSD 3, .

  5. 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: MIT , .

  6. LWJGL 2.X LWJGL 2.X - The Lightweight Java Game Library. https://www.lwjgl.org/ License: BSD 3, .

  7. Ardor3D - JogAmp’s Ardor3D Continuation is a general-purpose, professionally oriented, open source, scenegraph based 3D Java engine for desktop and embedded environments, using JOGL for its hardware graphics acceleration. Fork of jMonkeyEngine 2.0. Cross-platform. License: zlib.

  8. DimensioneX Multiplayer Engine - Produces browser games with pseudo-3D views. Games can be turned into Facebook Apps. Intended for beginners. 2.5D. Cross-platform. Notable games: Underworld Online. License: GPL

  9. PlayN A Java game development framework that deploys to Windows, Linux, HTML5, Android and iOS. Notable games: Angry Birds Chrome. Cross-platform. License: Apache 2.0. .

  10. Env3D - 3D game engine that creates an interface for dynamically adding EnvObjects. Built on jMonkeyEngine 2.0. Cross-platform License: GPL

  11. Jake2 Java port of the Quake II game engine. 2D. Cross-platform License: GPL

  12. Jogre - JOGRE (Java Online Gaming Real-time Engine) which is an open-source, online, real-time gaming engine and API programmed entirely in Java. License: GPL

  13. Elflight Engine - Targeted for web based games. License: Proprietary

  14. FXGL - JavaFX Game Development Framework. License: MIT, .

6. Useful libraries

Up

Collections

  1. Google Guava The Guava project contains several of Google's core libraries that we rely on in our Java-based projects: collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and so forth.Requires JDK 1.6 or higher (as of 12.0). Hello World examples License: Apache 2 , .
  2. Apache Commons Collections - Commons-Collections seek to build upon the JDK classes by providing new interfaces, implementations and utilities. Hello World examples. License: Apache 2.
  3. Gs collections A supplement or replacement for the Java Collections Framework. Hello World examples. License: Apache 2 , .
  4. Eclipse Collections Eclipse Collections is a collections framework for Java. It has JDK-compatible List, Set and Map implementations with a rich API, additional types not found in the JDK like Bags, Multimaps and set of utility classes that work with any JDK compatible Collections, Arrays, Maps or Strings. The iteration protocol was inspired by the Smalltalk collection framework.Eclipse Collections started off as an open source project on GitHub called GS Collections. GS Collections has been presented at the JVM Language Summit in 2012 and JavaOne in 2014. Hello World examples. License: Eclipse Public 1.0.
  5. javatuples - javatuples is one of the simplest java libraries ever made. Its aim is to provide a set of java classes that allow you to work with tuples.A tuple is just a sequence of objects that do not necessarily relate to each other in any way. For example: [23, "Saturn", java.sql.Connection@li734s] can be considered a tuple of three elements (a triplet) containing an Integer, a String, and a JDBC Connection object. License: Apache 2.
  6. Immutables - Java annotation processors to generate simple, safe and consistent value objects. Do not repeat yourself, try Immutables, the most comprehensive tool in this field. License: Apache 2.
  7. OpenHFT Chronicle Queue Micro second messaging that stores everything to disk. License: GNU Lesser 3.0, .
  8. fastutil - fastutil extends the Java™ Collections Framework by providing type-specific maps, sets, lists and queues with a small memory footprint and fast access and insertion; provides also big (64-bit) arrays, sets and lists, and fast, practical I/O classes for binary and text files. It requires Java 7 or newer. License: Apache 2.
  9. HPPC - HPPC provides template-generated implementations of typical collections, such as lists, sets and maps, for all Java primitive types. The primary driving force behind HPPC is optimization for highest performance and memory efficiency. License: Apache 2.
  10. Koloboke - Java Collections till the last breadcrumb of memory and performance . This library is a carefully designed and efficient extension of the Java Collections Framework with primitive specializations and more. Java 6+. License: Apache 2.
  11. Trove - The Trove library provides high speed regular and primitive collections for Java. License: GNU Lesser 2.1.
  12. underscore-java - Underscore-java is a java port of Underscore.js. In addition to porting Underscore's functionality, Underscore-java includes matching unit tests. License: MIT , .

Date and Time

  1. Almanac Converter - An easy-to-use Java-based calendar converter - able to convert between various known calendars. License: Apache 2.
  2. Joda-Time - Joda-Time provides a quality replacement for the Java date and time classes. License: Apache 2, .
  3. ThreeTenBP - Backport of functionality based on JSR-310 to Java SE 6 and 7. This is NOT an implementation of JSR-310. License: BSD 3.
  4. Time4J - Advanced date, time and interval library for Java. License: GNU Lesser 2.1.
  5. Ocpsoft Prettytime Social Style Date and Time Formatting for Java.PrettyTime is an OpenSource time formatting library. Completely customizable, it creates human readable, relative timestamps like those seen on Digg, Twitter, and Facebook. Get started “right now!” and in over 30 languages! License: Apache 2 , .
  6. threeten-extra Provides additional date-time classes that complement those in JDK 8. business-friendly BSD 3-clause license

Dependency Injection and AOP frameworks

  1. Spring Framework The Spring Framework provides a comprehensive programming and configuration model for modern Java-based enterprise applications -- on any kind of deployment platform. A key element of Spring is infrastructural support at the application level: Spring focuses on the "plumbing" of enterprise applications so that teams can focus on application-level business logic, without unnecessary ties to specific deployment environments. Hello World examples. License: Apache 2 , .
  2. Dagger and Dagger2 A fast dependency injector for Android and Java. Hello World examples. License: Apache 2 , , stackoverflow - 800 questions.
  3. Google Guice - Guice (pronounced 'juice') is a lightweight dependency injection framework for Java 6 and above, brought to you by Google. Hello World examples. License: Apache 2, .
  4. Apache DeltaSpike - DeltaSpike consists of a number of portable CDI extensions that provide useful features for Java application developers. We will also ensure true portability! We are testing DeltaSpike on different CDI implementations like Apache OpenWebBeans and JBoss Weld, and also on different Java EE servers like Apache Tomcat and TomEE, JBoss AS7, WildFly 8.x and 9.x, Oracle GlassFish 3.1+ and 4.x+, IBM WebSphere 8.x, Oracle WebLogic Server 12c, Jetty, and others. License: Apache 2
  5. HK2 - A light-weight and dynamic dependency injection framework. GNU 2/ CDDL 1.0.
  6. Eclipse AspectJ - AspectJ is a seamless aspect-oriented extension to the Java programming language, Java platform compatible, easy to learn and use. License: Eclipse Public 1.0.

Console and Command line

  1. jcommander Command line parsing framework for Java. http://jcommander.org/ License: Apache 2 , .
  2. 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: BSD 4, .
  3. args4j - args4j is a small Java class library that makes it easy to parse command line options/arguments in your CUI application. License: MIT
  4. CRaSH - The shell for the Java Platform Open source and open minde. License: GNU Lesser 2.1
  5. picocli - Annotation based command line parser with strong typing for both options and positional args and support for git-like subcommands. Usage help with ANSI colors. Easily included as source to avoid external dependencies. License: Apache 2

Functional Programming

Libraries that facilitate functional programming.

  1. Retrolambda Backport of Java 8's lambda expressions to Java 7, 6 and 5. License: Apache 2 , .
  2. 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: Apache 2.
  3. 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: Apache 2.
  4. Functional Java - Functional Java is an open source library facilitating functional programming in Java. The library implements numerous basic and advanced programming abstractions that assist composition oriented development. Functional Java also serves as a platform for learning functional programming concepts by introducing these concepts using a familiar language. http://www.functionaljava.org License: BSD 3, .
  5. Cyclops react - A comprehensive functional reactive platform for JDK8. Future & functional based programming via JDK compatible extensions for Java 8 and above, . License: MIT
  6. Fugue -Java 8 has standardised some of the basic function interfaces, but does not include quite a few more tools that a functional programmer may expect to be available. This library attempts to fill in some of the gaps when using Java 8. In particular it provides Option and Either types as well as a Pair. There also additional helper classes for common Function, Supplier, and Iterable operations. License: Apache 2.
  7. TotallyLazy Another functional library for Java , License: Apache 2, .
  8. derive4j - Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching, morphisms, (near future: optics and typeclasses), . License: GNU 3.

Reactive Programming

Libraries for developing reactive applications.

  1. ReactiveX RxJava RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM. License: Apache 2 , , stackoverflow - 1814 questions.
  2. Eclipse Vert.x Vert.x is a tool-kit for building reactive applications on the JVM . License:  Eclipse Public 1 / Apache 2 , , stackoverflow - 728 questions.
  3. Reactive Streams - The purpose of Reactive Streams is to provide a standard for asynchronous stream processing with non-blocking backpressure. License: Public Domain (CC0), .
  4. Reactor - Reactor is a second-generation Reactive library for building non-blocking applications on the JVM based on the Reactive Streams Specification. License: Apache 2.
  5. RSocket - RSocket is a binary protocol for use on byte stream transports such as TCP, WebSockets, and Aeron. License: Apache 2,

Security and Authentication

Libraries that handle security, authentication, authorization or session management.
Up

  1. OTP-Java - A small one-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP). MIT
  2. Scribe Java - Simple OAuth library for Java. License: MIT , .
  3. Spring security oauth - Support for adding OAuth1(a) and OAuth2 features (consumer and provider) for Spring web applications. License: Apache 2 , .
  4. 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: Apache 2 , .
  5. Spring security — Spring Security provides security services for the Spring IO Platform. Spring Security 3.1 requires Spring 3.0.3 as a minimum and also requires Java 5. License: Apache 2 , .
  6. Play Authenticate - An authentication plugin for Play Framework 2.x (Java). License: Apache 2 , .
  7. Apache Shiro - Apache Shiro is a powerful and easy-to-use Java security framework that performs authentication, authorization, cryptography, and session management. With Shiro’s easy-to-understand API, you can quickly and easily secure any application – from the smallest mobile applications to the largest web and enterprise applications. License: Apache 2.
  8. Bouncy Castle - Legion of the Bouncy Castle Java cryptography APIs.A lightweight cryptography API. License: MIT.
  9. Cryptomator - Free client-side encryption for your cloud files. Open source software: No backdoors, no registration. License: MIT.
  10. Google Keyczar - Easy-to-use crypto toolkit. License: Apache 2.
  11. Keycloak - Integrated SSO and IDM for browser apps and RESTful web services. Built on top of the OAuth 2.0, Open ID Connect, JSON Web Token (JWT) and SAML 2.0 specifications. Keycloak has tight integration with a variety of platforms and has a HTTP security proxy service where we don't have tight integration. Options are to deploy it with an existing app server, as a black-box appliance, or as an Openshift cloud service and/or cartridge. License: Apache 2.
  12. PicketLink - Simplified Security and Identity management for Java Applications PicketLink is an umbrella project for security and identity management for Java Applications. It is licensed under a friendly Apache v2 license. License: Apache 2.
  13. Santuario Library implementing XML Digital Signature Specification & XML Encryption Specification. License: Apache 2.
  14. Apache Oltu ( has retired ) Apache Oltu is an OAuth protocol implementation in Java. License: Apache 2.
  15. Apache Syncope Apache Syncope is an Open Source system for managing digital identities in enterprise environments. License: Apache 2.
  16. 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:
  17. OpenAM - Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security. License: CDDL, .

High Performance

Everything about high performance computation, from collections to specific libraries.
Up

  1. Agrona - High Performance data structures and utility methods for Java and C++, License: Apache 2.
  2. Disruptor - Inter-thread messaging library. License: Apache 2.
  3. fastutil - fastutil extends the Java Collections Framework by providing type-specific maps, sets, lists and queues with a small memory footprint and fast access and insertion; provides also big (64-bit) arrays, sets and lists, and fast, practical I/O classes for binary and text files. License: Apache 2.
  4. 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: Apache 2.
  5. HPPC -HPPC provides template-generated implementations of typical collections, such as lists, sets and maps, for all Java primitive types. The primary driving force behind HPPC is optimization for highest performance and memory efficiency. License: Apache 2.
  6. Javolution - ibrary for real-time and embedded systems. License: BSD 2.
  7. JCTools - Concurrency tools currently missing from the JDK. License: Apache 2.
  8. Koloboke - Hash sets and hash maps. License: Apache 2.
  9. Trove - Primitive collections. License: GNU Lesser 2.1.
  10. JUnion - Delivers struct types for Java programming language. 64 bit addressable struct arrays. https://tehleo.github.io/junion/ License: [License: BSD 3.

Serialization and I/O

Libraries that handle serialization with high efficiency.
Up

  1. Square Okio A modern I/O API for Java. License: Apache 2 , .
  2. Square type A lightning fast, transactional, file-based FIFO for Android and Java. License: Apache 2 , .
  3. Simple Binary Encoding (SBE) Simple Binary Encoding (SBE) - High Performance Message Codec. License: Apache 2 , .
  4. MessagePack - MessagePack serializer implementation for Java. License: Apache 2 , .
  5. FlatBuffers - Memory efficient serialization library that can access serialized data without unpacking and parsing it. License: Apache 2.
  6. FST - JDK compatible high performance object graph serialization. License: Apache 2.
  7. Kryo - Fast and efficient object graph serialization framework. License: BSD 3.

Logging

Libraries that log the behavior of an application.
Up

  1. Graylog2 server Free and open source log management. License: GNU 3, .
  2. logback The reliable, generic, fast and flexible logging framework for Java.. http://logback.qos.ch/. License: Eclipse Public 1.0/GNU Lesser 2.1, .
  3. slf4j Abstraction layer which is to be used with an implementation. http://www.slf4j.org/ License: MIT , .
  4. Apache Log4j 2 - Apache Log4j 2 is an upgrade to Log4j that provides significant improvements over its predecessor. License: Apache 2.
  5. graylog - Open-source aggregator suited for extended role and permission management. License: GNU 3.
  6. Elastic Kibana - Analyzes and visualizes log files. Some features require payment. License: Apache 2.
  7. Elastic Logstash - Tool for managing log files. License: Apache 2.
  8. Metrics - Expose metrics via JMX or HTTP and can send them to a database. License: Apache 2.
  9. tinylog - Lightweight logging framework with static logger class. License: Apache 2.

Bean Mapping and Validation

Frameworks that ease bean mapping or bean validation.
Up

  1. Dozer - Dozer is a Java Bean to Java Bean mapper that recursively copies data from one object to another. Hello World examples. License: Apache 2, .
  2. MapStruct - An annotation processor for generating type-safe bean mappers. Hello World examples. License: Apache 2, .
  3. ModelMapper -Simple, Intelligent, Object Mapping. Hello World examples. License: Apache 2, .
  4. Orika - Simpler, better and faster Java bean mapping framework. Hello World examples. License: Apache 2, .
  5. Selma - Stupid Simple Statically Linked Mapper. Hello World examples. Selma Java bean mapping that compiles. License: Apache 2, .
  6. 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: Apache 2.
  7. 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: EPL v2.0.

7. Imagery and Video

Libraries that assist with the creation, evaluation or manipulation of graphical images or video.
Up

  1. Facebook Rebound A Java library that models spring dynamics and adds real world physics to your app. License: BSD, .
  2. Processing Source code for the Processing Development Environment (PDE) . License: GNU 2, .
  3. 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: Apache 2 , .
  4. imgscalr Simple Java image-scaling library implementing Chris Campbell's incremental scaling algorithm as well as Java2D's "best-practices" image-scaling techniques. License: Apache 2 , .
  5. 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: MIT , .
  6. Thumbnailator - Thumbnailator's fluent interface can be used to perform fairly complicated thumbnail processing task in one simple step.
  7. 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: Apache 2 , .

8. Code generation and changing byte code

Libraries to manipulate bytecode programmatically.
Up

  1. Google Auto - A collection of source code generators for Java. License: Apache 2 , .
  2. Square Javapoet - JavaPoet is a Java API for generating .java source files. License: Apache 2 , .
  3. Byte buddy - Runtime code generation for the Java virtual machine. http://bytebuddy.net/ License: Apache 2 , .
  4. ASM - ASM is an all purpose Java bytecode manipulation and analysis framework. It can be used to modify existing classes or dynamically generate classes, directly in binary form. Provided common transformations and analysis algorithms allow to easily assemble custom complex transformations and code analysis tools. License: BSD 3 / License: Apache 2.
  5. Byteman - Byteman is a tool which makes it easy to trace, monitor and test the behaviour of Java application and JDK runtime code. It injects Java code into your application methods or into Java runtime methods without the need for you to recompile, repackage or even redeploy your application. License: LGPL 2.1.
  6. Javassist -Javassist (Java Programming Assistant) makes Java bytecode manipulation simple. It is a class library for editing bytecodes in Java; it enables Java programs to define a new class at runtime and to modify a class file when the JVM loads it. License: Apache 2 or LGPL or later 2.1 or Mozilla Public License 1.1..
  7. ADT4J - This library implements Algebraic Data Types for Java. ADT4J provides annotation processor for @GenerateValueClassForVisitor annotation. ADT4J generates new class for each @GenerateValueClassForVisitor annotation. License: BSD 3.
  8. JHipster - Hipster stack for Java developers. Spring Boot + AngularJS in one handy generator. License: Apache 2.
  9. cglib - cglib - Byte Code Generation Library is high level API to generate and transform Java byte code. It is used by AOP, testing, data access frameworks to generate dynamic proxy objects and intercept field access. License: Apache 2.

9. Distributed Applications

Libraries and frameworks for writing distributed and fault-tolerant applications.
Up

  1. Akka - Akka is a toolkit and runtime for building highly concurrent, distributed, and resilient message-driven applications on the JVM. License: Apache 2.
  2. 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: Apache 2.
  3. 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. . http://heronstreaming.io License: Apache 2.
  4. Apache ZooKeeper - ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. All of these kinds of services are used in some form or another by distributed applications. License: Apache 2.
  5. Alibaba Dubbo Dubbo is a distributed service framework empowers applications with service import/export capability with high performance RPC. License: Apache 2 , .
  6. Netflix Curator ZooKeeper client wrapper and rich ZooKeeper framework. License: Apache 2 , .
  7. Axon Framework - The axon framework is focussed on making life easier for developers that want to create a java application based on the CQRS principles. The framework is used in a lot of environments. License: Apache 2.
  8. Hazelcast - The Leading Open Source In-Memory Data Grid: Distributed Computing, Simplified. License: Apache 2.
  9. 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: Apache 2.
  10. JGroups - JGroups is a toolkit for reliable messaging. It can be used to create clusters whose nodes can send messages to each other. License: Apache 2.
  11. 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: BSD 3.
  12. Quasar - Quasar is an open source JVM library that greatly simplifies the creation of highly concurrent software that is very easy to write and reason about, performant, and fault tolerant. License: Eclipse Public License v1.0 or LGPL 3.0.
  13. Storm contrib A collection of spouts, bolts, serializers, DSLs, and other goodies to use with Storm. License: Eclipse Public 1.0, .
  14. JADE - JADE (Java Agent DEvelopment Framework) is a software Framework fully implemented in the Java language. It simplifies the implementation of multi-agent systems through a middle-ware that complies with the FIPA specifications and through a set of graphical tools that support the debugging and deployment phases. License: GNU Lesser 2.0.
  15. Apache River Apache River software provides a standards-compilani JINI service. License: Apache 2.
  16. 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: Apache 2.
  17. Lagom - Reactive Microservices for the JVM. https://www.lightbend.com/lagom . License: Apache 2, .

10. Science

Libraries for scientific computing and analysis.
Up

  1. DataMelt - DataMelt is a free mathematics software for scientists, engineers and students. It can be used for numeric computation, statistics, symbolic calculations, data analysis and data visualization. License: GNU 3.
  2. JGraphT - JGraphT is a free Java class library that provides mathematical graph-theory objects and algorithms. It runs on Java 2 Platform (requires JDK 1.7 or later). License: Eclipse Public License or LGPL 2.1.
  3. JScience - Provides a set of classes to work with scientific measurements and units. License: BSD 2.
  4. 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.

11. OSGI

  1. 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: Apache 2.
  2. Aries The Aries project consists of a set of pluggable Java components enabling an enterprise OSGi application programming model. License: Apache 2.
  3. Felix OSGi framework implementation and related technologies. License: Apache 2.
  4. Karaf Apache Karaf is an OSGi distribution for server-side applications. License: Apache 2.
  5. Equinox OSGI framework implementation and related technologies. License: EPL
  6. Eclipse Virgo OSGI based server that is designed to run enterprise Java applications and Spring-powered applications. License: EPL

II. Databases, search engines, big data and machine learning

1. Databases and storages

Everything which simplifies interactions with the database.
Up

  1. 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 2 , .
  2. Apache Cassandra - Cassandra is a partitioned row store. Rows are organized into tables with a required primary key. License: Apache 2 , .
  3. 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: Apache 2/CDDL 1/Eclipse Distribution 1.0, .
  4. 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: GNU 3/ GNU AGPLv3, .
  5. 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. http://www.mapdb.org/. License: Apache 2 , .
  6. Voldemort An open source clone of Amazon's Dynamo. Voldemort is a distributed key-value storage system. License: Apache 2 , .
  7. Alluxio (formerly Tachyon) Memory-Speed Virtual Distributed Storage System. License: Apache 2 , .
  8. Opentsdb A scalable, distributed Time Series Database. License: GNU 3, .
  9. Hazelcast Open Source In-Memory Data Grid. License: Apache 2 , .
  10. 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: BSD 3, .
  11. Apache Lucene solr Apache Lucene/Solr. Lucene is a search engine library Solr is a search engine server that uses lucene. License: Apache 2 , .
  12. Java Chronicle Java Indexed Record Chronicle — This library is an ultra low latency, high throughput, persisted, messaging and event driven in memory database. License: Apache 2 , .
  13. 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: GNU AGPLv3, .
  14. Crate Crate.IO: The fast, scalable, easy to use SQL database with native full text search. https://crate.io/ .License: Apache 2 , .
  15. 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: Apache 2 , .
  16. Solandra Solandra is a real-time distributed search engine built on Apache Solr and Apache Cassandra. License: Apache 2 , .
  17. Voltdb VoltDB is a horizontally-scalable, in-memory SQL RDBMS designed for applications that have extremely high read and write throughput requirements. License: GNU AGPLv3, .
  18. 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: Apache 2 , .
  19. Kairosdb KairosDB is a fast distributed scalable time series database written on top of Cassandra. License: Apache 2 , .
  20. Linkedin Sensei Sensei is a distributed, elastic realtime searchable database. License: Apache 2 , .
  21. Elephantdb Distributed database specialized in exporting key/value data from Hadoop. License: BSD 3, .
  22. 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: Apache 2 , .
  23. 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: BSD 3, .
  24. Tomcat redis session manager Redis-backed non-sticky session store for Apache Tomcat. License: MIT , .
  25. Embulk Embulk is a parallel bulk data loader that helps data transfer between various storages, databases, NoSQL and cloud services. License: Apache 2 , .
  26. H2 - Welcome to H2, the Java SQL database. The main features of H2 are: Very fast, open source, JDBC API, Embedded and server modes; in-memory databases, Browser based Console application,Small footprint: around 1.5 MB jar file size License: Mozilla Public License 1.1. and Eclipse Public License v1.0.
  27. Apache Derby - Apache Derby, an Apache DB subproject, is an open source relational database implemented entirely in Java. Derby provides an embedded JDBC driver that lets you embed Derby in any Java-based solution. License: Apache 2.
  28. Apache Empire-db Apache Empire-db is a lightweight relational database abstraction layer and data persistence component. License: Apache 2.
  29. Apache Ignite Apache Ignite is an In-Memory Data Fabric providing in-memory data caching, partitioning, processing, and querying components. License: Apache 2.
  30. 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: BSD licenses.

**Distributed Databases.**

Databases in a distributed system that appear to applications as a single data source.

  1. Apache Cassandra - The Apache Cassandra database is the right choice when you need scalability and high availability without compromising performance. License: Apache 2 , .
  2. Apache HBase - Apache HBase is an open-source, distributed, versioned, non-relational database modeled after Google's Bigtable: A Distributed Storage System for Structured Data by Chang et al. License: Apache 2.
  3. Druid - Druid is a fast column-oriented distributed data store. http://druid.io License: Apache 2, .
  4. Infinispan - Infinispan is a distributed in-memory key/value data store with optional schema. It can be used both as an embedded Java library and as a language-independent service accessed remotely over a variety of protocols (HotRod, REST, Memcached and WebSockets). License: Apache 2.
  5. OpenTSDB - The Scalable Time Series Database Store and serve massive amounts of time series data without losing granularity. http://opentsdb.net License: GNU 3, .

2. Data structures

Efficient and specific data structures.

  1. Apache Avro - Apache Avro is a data serialization system. License: Apache 2.
  2. Apache Orc - The smallest, fastest columnar storage for Hadoop workloads. License: Apache 2.
  3. Apache Parquet - Apache Parquet is a columnar storage format available to any project in the Hadoop ecosystem, regardless of the choice of data processing framework, data model or programming language. License: Apache 2.
  4. Apache Thrift -The Apache Thrift software framework, for scalable cross-language services development, combines a software stack with a code generation engine to build services that work efficiently and seamlessly between C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, OCaml and Delphi and other languages. License: Apache 2.
  5. Persistent Collection - PCollections serves as a persistent and immutable analogue of the Java Collections Framework. License: MIT.
  6. Protobuf - Protocol Buffers (a.k.a., protobuf) are Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data. License: BSD 3.
  7. SBE - Simple Binary Encoding (SBE) - High Performance Message Codec, License: Apache 2.
  8. Wire - Clean, lightweight protocol buffers for Android and Java. License: Apache 2.

3. Search engines

Up

  1. Elasticsearch - Elasticsearch is a distributed RESTful search engine built for the cloud. License: Apache 2 , .
  2. Linkedin Indextank Engine This project contains IndexTank (http://www.searchify.com) search engine implementation. Includes features like variables (boosts), categories (facets), faceted search, snippeting, custom scoring functions, suggest, and autocomplete. License: Apache 2 , .
  3. Apache Solr Solr is the popular, blazing-fast, open source enterprise search platform built on Apache Lucene. http://lucene.apache.org/solr/ License: Apache 2 , .
  4. Linkedin Cleo A flexible, partial, out-of-order and real-time typeahead search library. License: Apache 2 , .
  5. Elasticsearch cloud aws AWS (Amazon Web Service) Cloud Plugin for Elasticsearch. License: Apache 2 , .
  6. Elasticsearch analysis ik The IK Analysis plugin integrates Lucene IK analyzer into elasticsearch, support customized dictionary. License: ?, .
  7. Apache ManifoldCF Open-source software for transferring content between repositories or search indexes License: Apache 2.
  8. 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: BSD License
  9. YaCy - The YaCy Search Engine application, http://yacy.net/ . License: GNU Lesser and GNU

4. Client and drivers for databases

Up

  1. Facebook Presto Distributed SQL query engine for big data (Cassandra, Hive, Kafka, MySQL, PostgreSQL and so on). License: Apache 2 , .
  2. Jedis A blazingly small and sane redis java client. License: MIT , .
  3. 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: BSD 3 , .
  4. Mongodb Java Driver The Java driver for MongoDB. License: Apache 2 / Creative Commons Attribution , .
  5. Yahoo Mysql_perf_analyzer MySQL Performance Analyzer is an open source project for MySQL performance monitoring and analysis. License: Apache 2 , .
  6. Airbnb Airpal Web UI for PrestoDB. License: Apache 2 , .
  7. Mongodb hadoop MongoDB Connector for Hadoop. License: ?, .
  8. Elasticsearch jdbc JDBC importer for Elasticsearch. License: Apache 2 , .
  9. Flyway — Flyway by Boxfuse. Database Migrations Made Easy. https://flywaydb.org/ . License: Apache 2 , .
  10. Elasticsearch river mongodb - MongoDB River Plugin for ElasticSearch. License: Apache 2 , .
  11. Netflix Astyanax Cassandra Java Client. License: Apache 2 , .
  12. Liquibase Liquibase — source control for your database, supports multiple developers, database types and so on. http://www.liquibase.org/ . License: Apache 2 , .
  13. Mongodb Morphia MongoDB object-document mapper in Java based on. License: Apache 2 , .
  14. Couchdb lucene Enables full-text searching of CouchDB documents using Lucene. License: Apache 2 , .
  15. 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: BSD 3 , .
  16. Variety A schema analyzer for MongoDB. License: MIT , .
  17. 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: Apache 2 , .
  18. Netflix Priam Co-Process for backup/recovery, Token Management, and Centralized Configuration management for Cassandra. License: Apache 2 , .
  19. Datastax Java driver DataStax Java Driver for Apache Cassandra. License: Apache 2 , .
  20. Memcached Java Client to be the best java client for memcached. License: BSD 4, .
  21. 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 2 , .
  22. Apache Phoenix - Apache Phoenix enables OLTP and operational analytics in Hadoop for low latency applications by combining the best of both worlds, License: Apache 2.
  23. FlexyPool - FlexyPool adds metrics and failover strategies to a given Connection Pool, allowing it to resize on demand. License: Apache 2.
  24. LightAdmin - Pluggable data administration UI library for Java web applications. License: Apache 2.
  25. Jaybird JCA/JDBC driver - JCA-JDBC Driver for Firebird database. http://www.firebirdsql.org/en/jdbc-driver/, . License: GNU Lesser 2.1.
  26. dbeaver - Free universal database manager and SQL client. http://dbeaver.jkiss.org. , . License: GNU 2.
  27. tarantool-java A Java client for Tarantool. License: BSD licenses.

5. ORM

APIs which handle the persistence of objects.
Up

  1. HikariCP A solid high-performance JDBC connection pool at last. License: Apache 2 , .
  2. Mybatis 3 MyBatis SQL mapper framework for Java. License: Apache 2 , .
  3. Hibernate orm Hibernate's core Object/Relational Mapping functionality. http://hibernate.org/orm/ License: GNU Lesser 2.1, .
  4. 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. http://www.jooq.org/ . License: Apache 2 , .
  5. 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. http://www.querydsl.com/ . License: Apache 2 , .
  6. Kundera A JPA 2.1 compliant Polyglot Object-Datastore Mapping Library for NoSQL Datastores. License: Apache 2 , .
  7. Spring data jpa Simplifies the development of creating a JPA-based data access layer. License: Apache 2 , .
  8. 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. http://jdbi.org/ .License: Apache 2 , .
  9. ActiveJDBC ActiveJDBC is a fast and lean Java ORM. License: Apache 2 , .
  10. Vibur DBCP - Concurrent, fast, and fully-featured JDBC connection pool, which provides a non-starvation guarantee for application threads, statement caching, slow SQL queries detection and logging, and Hibernate integration, among other features. License: Apache 2.
  11. Ebean - Ebean ORM for Java/Kotlin.Fast and simple data access on the JVM. License: Apache 2.
  12. EclipseLink - Comprehensive open-source Java persistence solution addressing relational, XML, and database web services. License: Eclipse Public License v1.0 and BSD 3.
  13. OrmLite - Object Relational Mapping Lite (ORM Lite) provides some simple, lightweight functionality for persisting Java objects to SQL databases while avoiding the complexity and overhead of more standard ORM packages. License: ISC.
  14. Apache Cayenne User-friendly Java ORM with tools. License: Apache 2.
  15. Apache OpenJPA Java Persistence API Implementation. License: Apache 2.
  16. 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 2.

6. Working with messy data

Up

  1. Storm - Distributed and fault-tolerant realtime computation: stream processing, continuous computation, distributed RPC, and more. License: Apache 2 , .
  2. OpenRefine — OpenRefine is a free, open source power tool for working with messy data and improving it. License: BSD , .
  3. Addthis Stream lib - Stream summarizer and cardinality estimator. License: Apache 2 , .
  4. 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: BSD 2 , .
  5. 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 2 , .
  6. 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: Apache 2 , .
  7. Seldon Server Enterprise machine learning platform for prediction and recommendation on Apache Spark. License: Apache 2 , .
  8. Pulsar - Realtime analytics, this includes the core components of Pulsar pipeline. License: GNU 2.0, .
  9. 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 2 , .
  10. Apache UIMA Annotator components and a scalable integration and deployment framework for Unstructured Information analysis. License: Apache 2.

7. Big data

Up

Frameworks and libraries for big data

  1. 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: Apache 2 , .
  2. 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. . http://heronstreaming.io License: Apache 2.
  3. H2o h2o = fast statistical, machine learning & math runtime for bigdata. License: Apache 2 , .
  4. 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: Apache 2 , .
  5. Twitter Elephant bird - Twitter's collection of LZO and Protocol Buffer-related Hadoop, Pig, Hive, and HBase code. License: Apache 2 , .
  6. 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 2 , .
  7. Google Mr4c MR4C is an implementation framework that allows you to run native code within the Hadoop execution framework. License: GNU Lesser 3, .
  8. 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: Apache 2 , .
  9. Etsy Oculus Oculus is the anomaly correlation component of Etsy's Kale system. License: MIT , .
  10. 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: Apache 2 , .
  11. Linkedin Gobblin Universal data ingestion framework for Hadoop. License: Apache 2 , .
  12. Apache Flink - Apache Flink is an open source stream processing framework with powerful stream- and batch-processing capabilities. License: Apache 2 , .
  13. Oryx 2 - Oryx 2: Lambda architecture on Apache Spark, Apache Kafka for real-time large scale machine learning. License: Apache 2 , .
  14. Yahoo SAMOA (Scalable Advanced Massive Online Analysis) — SAMOA (Scalable Advanced Massive Online Analysis) is an open-source platform for mining big data streams. License: Apache 2 , .
  15. Curator A set of Java libraries that make using Apache ZooKeeper much easier. License: Apache 2.
  16. Apache Hama Hama is an efficient and scalable general-purpose BSP computing engine. License: Apache 2.
  17. Apache Falcon Data management and processing platform for Hadoop. License: Apache 2.
  18. Apache Knox A REST API Gateway for Hadoop Services. License: Apache 2.
  19. 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 2.
  20. Apache Tajo Tajo is an open source big data warehouse system in Hadoop for processing web-scale data sets. License: Apache 2.
  21. 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 2.
  22. 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 2.
  23. Apache Pig Apache Pig is a platform for analyzing large data sets on Hadoop. License: Apache 2.

Data store, database, search or SQL-like query engine for big data.

  1. Druid Column oriented distributed data store ideal for powering interactive applications. License: Apache 2 , .
  2. Apache Hive - The Apache Hive data warehouse software facilitates querying and
    managing large datasets residing in distributed storage. Built on top
    of Apache Hadoop. https://hive.apache.org/ .License: Apache 2 ,
    .
  3. 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: Apache 2 , .
  4. Elasticsearch hadoop - Elasticsearch real-time search and analytics natively integrated with Hadoop. License: Apache 2 , .
  5. Facebook Presto Presto is a distributed SQL query engine for big data. License: Apache 2 , .
  6. 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 2.
  7. 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 2.
  8. 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: Apache 2.
  9. [Apache Sqoop] Apache Sqoop(TM) is a tool designed for efficiently transferring bulk data between Apache Hadoop and structured datastores such as relational databases.(http://sqoop.apache.org) License: Apache 2.
  10. 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. Лицензия: Apache 2.
  11. Impala - Real-time Query for Hadoop. . License: Apache 2.

Monitoring, testing and managing tools for big data

  1. Twitter Ambrose A platform for visualization and real-time monitoring of data workflows. License: Apache 2 , .
  2. Umongo - Desktop app to browse and administer your MongoDB cluster. License: Apache 2 , .
  3. 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 2.
  4. 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 2.
  5. 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 2.
  6. 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 2.
  7. Apache Crunch Provides a framework for writing, testing, and running MapReduce pipelines. License: Apache 2.
  8. Apache MRUnit Apache MRUnit is a Java library that helps developers unit test Apache Hadoop map reduce jobs. License: Apache 2.
  9. Apache Oozie Oozie is a workflow scheduler system to manage Apache Hadoop jobs. License: Apache 2.

8. Machine Learning

Tools that provide specific statistical algorithms which allow learning from data.
Up

  1. Airbnb Aerosolve A machine learning library designed from the ground up to be human friendly. License: Apache 2 , .
  2. 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. Hello World examples. License: Apache 2 , .
  3. Deeplearning4j Deeplearning4J is an Apache 2.0-licensed, open-source, distributed neural net library written in Java and Scala. http://deeplearning4j.org/ .License: Apache 2 , .
  4. 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: BSD 3, .
  5. Neuralnetworks java deep learning algorithms and deep neural networks with gpu acceleration. License: MIT , .
  6. 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 2 , .
  7. Apache Mahout The Apache Mahout project's goal is to build an environment for quickly creating scalable performant machine learning applications. https://mahout.apache.org/ .License: Apache 2 , .
  8. 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 2 , .
  9. Apache Flink - Apache Flink is an open source stream processing framework with powerful stream- and batch-processing capabilities. https://flink.apache.org/ Subproject: FlinkML - FlinkML is the Machine Learning (ML) library for Flink. License: Apache 2 , .
  10. 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. http://hadoop.apache.org/ License: Apache 2 , .
  11. Apache Spark - Apache Spark™ is a fast and general engine for large-scale data processing. Subproject: MLlib. License: Apache 2.
  12. DeepDive - DeepDive is a system to extract value from dark data. Like dark matter, dark data is the great mass of data buried in text, tables, figures, and images, which lacks structure and so is essentially unprocessable by existing software. License: Creative Commons Attribution 4.0.
  13. H2o h2o = fast statistical, machine learning & math runtime for bigdata. http://www.h2o.ai/ License: Apache 2 , .
  14. JSAT - Java Statistical Analysis Tool, a Java library for Machine Learning. License: GNU 3.
  15. Weka - Weka is a collection of machine learning algorithms for data mining tasks. The algorithms can either be applied directly to a dataset or called from your own Java code. Weka contains tools for data pre-processing, classification, regression, clustering, association rules, and visualization. It is also well-suited for developing new machine learning schemes. License: GNU.
  16. Protégé - A free, open-source ontology editor and framework for building intelligent systems. License: BSD 2.
  17. EvA2 - A Java based framework for Evolutionary Algorithms -- formerly known as JavaEvA/EvA. License: GNU LESSER 3.
  18. htm.java - Hierarchical Temporal Memory implementation in Java - an official Community-Driven Java port of the Numenta Platform for Intelligent Computing (NuPIC). License: GNU AFFERO 3.
  19. JAVA-ML - Java Machine Learning Library (Java-ML). License: GNU 2.
  20. JSAT - Numerous Machine Learning algorithms for classification, regression, and clustering. License: GNU 3.
  21. Meka - An open source implementation of methods for multi-label classification and evaluation (extension to Weka). License: GNU.
  22. Neuroph - Neuroph is lightweight Java neural network framework. License: Apache 2.
  23. rapaio - statistics, data mining and machine learning toolbox in Java. License: Apache 2.
  24. Apache SystemML - flexible, scalable machine learning (ML) language. (incubator project). License: Apache 2.
  25. wAlnut - Object oriented model of partial human brain with 1 theorized common learning algorithm. Work in progress towards a strong emotional AI. License: GNU 3

Semantic Web and Linked Data

The Semantic Web provides a common framework that allows data to be shared and reused across application, enterprise, and community boundaries

  1. Apache Marmotta An Open Platform for Linked Data. License: Apache 2.
  2. Apache Jena A framework for developing Semantic Web and Linked Data applications in Java. License: Apache 2.

Constraint Satisfaction Problem Solver

Libraries that help on implementing optimization and satisfiability problems.

  1. Choco - Choco is a Free and Open-Source Software dedicated to Constraint Programming. It aims at describing hard combinatorial problems in the form of Constraint Satisfaction Problems and solving them with Constraint Programming techniques. License: BSD.
  2. JaCoP - Java Constraint Programming (JaCoP) solver. License: ?
  3. OptaPlanner - OptaPlanner is a constraint satisfaction solver. It optimizes business resource planning. Every organization faces scheduling puzzles: assign a limited set of constrained resources (employees, assets, time and money) to provide products or services to customers. License: Apache 2.
  4. Sat4J - Sat4j is a java library for solving boolean satisfaction and optimization problems. It can solve SAT, MAXSAT, Pseudo-Boolean, Minimally Unsatisfiable Subset (MUS) problems. License: GNU Lesser 3 and Eclipse Public 1.0.

Natural Language Processing (NLP) and Speech Recognition

Libraries that specialize on processing text.
Up

  1. Stanfordnlp CoreNLP Stanford CoreNLP provides a set of natural language analysis tools written in Java. Hello World examples. License: GNU 2, .
  2. Apache OpenNLP - The Apache OpenNLP library is a machine learning based toolkit for the processing of natural language text. Hello World examples. License: Apache 2.
  3. LingPipe - LingPipe is tool kit for processing text using computational linguistics. License: AGPL or License: proprietary. or
  4. Mallet - MALLET is a Java-based package for statistical natural language processing, document classification, clustering, topic modeling, information extraction, and other machine learning applications to text. License: Eclipse Public License v1.0.
  5. Twitter Text Libraries - This repo is a collection of libraries and conformance tests to standardize parsing of tweet text. It synchronizes development, testing, creating issues, and pull requests for twitter-text's implementations and specification. License: Apache 2.
  6. 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: Apache 2.
  7. 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: BSD 2.
  8. Z-MERT Z-MERT is a software tool for minimum error rate training of machine translation systems. License: GNU Lesser General Public License (LGPL).
  9. ClearTK - ClearTK is a framework for developing machine learning and natural language processing components within the Apache Unstructured Information Management Architecture, http://cleartk.github.io/cleartk/ . License: Apache 2.
  10. Apache cTAKES - Apache cTAKES™ is a natural language processing system for extraction of information from electronic medical record clinical free-text. License: Apache 2.
  11. The Stanford Natural Language Processing Group - A Natural Language Processing Java software tools. Subproject: Stanford Parser - A statistical parser, Stanford POS Tagger, Stanford Named Entity Recognizer, RegexNER,
    Word Segmenter,Classifier,EnglishTokenizer,TokensRegex,Temporal Tagger,Pattern-based Information Extraction and Diagnostics,Stanford Relation Extractor. License: GNU 2/3.
  12. Apache Tika The Apache Tika toolkit detects and extracts metadata and structured text content from various documents using existing parser libraries. License: Apache 2.
  13. CMU Sphinx - Open Source Speech Recognition Toolkit. License: BSD 2.
  14. ARK Twitter NLP - CMU ARK Twitter Part-of-Speech Tagger. http://www.ark.cs.cmu.edu/TweetNLP/ License: GNU 2/3, .
  15. lc4j - Language Categorization for Java: an Open Source library for finding out in which language a text has been written. License: MIT.

III. Network and Integration

1. Servers (Web Server and Application Server)

Servers which are specifically used to deploy applications.
Up

  1. Wildfly - Formerly known as JBoss and developed by Red Hat with extensive Java EE support. License: GNU Lesser 2.1, .
  2. Undertow - High performance non-blocking webserver. License: Apache 2 , .
  3. Apache Tomcat - Robust all-round server for Servlet and JSP. License: Apache 2 , .
  4. Nginx clojure - Nginx module for embedding Clojure or Java or Groovy programs, typically those Ring based handlers. License: BSD 3 , .
  5. Jetty - Lightweight, small server, often embedded in projects. License: Eclipse Public 1.0 / Apache 2.0, .
  6. Apache TomEE - Tomcat plus Java EE. License: Apache 2.
  7. WebSphere Liberty - Lightweight, modular server developed by IBM. License: proprietary
  8. GlassFish - GlassFish - World's first Java EE 7 Application Server. License: GNU 2 Or CDDL 1.0.
  9. Apache Geronimo Java EE Application Server. License: Apache 2.
  10. 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: Apache 2.
  11. 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.CDDL 1.1

2. Networking

Libraries for network programming.
Up

  1. Netty Framework for building high performance network applications. License: Apache 2 , .
  2. Netty socketio Socket.IO server implemented on Java. Realtime java framework. License: Apache 2 , .
  3. Grpc java The Java gRPC implementation. HTTP/2 based RPC http://www.grpc.io/ . License: BSD 3, .
  4. Socket.io java client Socket.IO Client Implementation in Java. License: MIT , .
  5. Socket.io client.java Full-featured Socket.IO Client Library for Java, which is compatible with Socket.IO v1.0 and later. License: MIT , .
  6. EsotericSoftware Kryonet TCP/UDP client/server library for Java, based on Kryo. License: BSD 3, .
  7. Async Http Client - Asynchronous HTTP and WebSocket client library. License: Apache 2.
  8. Comsat - Integrates standard Java web-related APIs with Quasar fibers and actors. License: Eclipse Public 1.0.
  9. Grizzly - NIO framework. Used as a network layer in Glassfish. License: GNU 2 and CDDL 1.1.
  10. OkHttp - HTTP+SPDY client. License: Apache 2.
  11. Undertow - Web server providing both blocking and non-blocking API’s based on NIO. Used as a network layer in WildFly. License: Apache 2.
  12. 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 2.
  13. 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: Apache 2.

3. Message, message broker and message queue

Tools that help to send messages between clients in order to ensure protocol independency.
Up

  1. LMAX Exchange Disruptor High Performance Inter-Thread Messaging Library. License: Apache 2 , .
  2. Gifsockets Real Time communication library using Animated Gifs as a transport. License: Eclipse Public 1.0, .
  3. Real logic Aeron Efficient reliable UDP unicast, UDP multicast, and IPC message transport. License: Apache 2 , .
  4. JeroMQ Pure Java ZeroMQ. License: GNU 3, .
  5. Metamorphosis A high available,high performance distributed messaging system. License: Apache 2 , .
  6. Igniterealtime Openfire A XMPP server licensed under the Open Source Apache License. License: Apache 2 , .
  7. Zeromq Jzmq Java binding for ZeroMQ. License: GNU 3, .
  8. Aeron - Efficient reliable unicast and multicast message transport. License: Apache 2.
  9. Apache ActiveMQ - Message broker that implements JMS and converts synchronous to asynchronous communication, License: Apache 2.
  10. Apache Camel - Glues together different transport APIs via Enterprise Integration Patterns, License: Apache 2.
  11. Apache Kafka - High-throughput distributed messaging system, License: Apache 2.
  12. Hermes - Fast and reliable message broker built on top of Kafka, License: Apache 2.
  13. JBoss HornetQ - Clear, concise, modular and made to be embedded, License: Apache 2.
  14. Smack Cross-platform XMPP client library. License: Apache 2 , .
  15. Apache Qpid AMQP enterprise messaging implementation. License: Apache 2.
  16. Apache Synapse Apache Synapse is a lightweight ESB engine and XML router. License: Apache 2.
  17. 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: Apache 2.

4. Http and ssh

Up

  1. Square Okhttp An HTTP+HTTP/2 client for Android and Java applications. License: Apache 2 , .
  2. AsyncHttpClient Asynchronous Http and WebSocket Client library for Java. License: Apache 2 , .
  3. Http request Java HTTP Request Library. License:  MIT . , .
  4. Nanohttpd Tiny, easily embeddable HTTP server in Java. License: BSD 3, .
  5. Http kit Hhttp-kit is a minimalist, event-driven, high-performance Clojure HTTP server/client library with WebSocket and asynchronous support. License: Apache 2 , .
  6. Apache Zookeeper Mirror of Apache Hadoop ZooKeeper. License: Apache 2 , .
  7. Moco Easy Setup Stub Server. License: MIT , .
  8. Webbit A Java event based WebSocket and HTTP server. License: BSD 3, .
  9. Mashape Unirest java Unirest in Java: Simplified, lightweight HTTP client library.. License: MIT , .
  10. Sshj ssh, scp and sftp for java. License: Apache 2 , .
  11. Netflix Feign Feign makes writing java http clients easier. License: Apache 2 , .

5. Rest Frameworks

Frameworks specifically for creating RESTful services.
Up

  1. Square Retrofit Type-safe REST client. License: Apache 2 , .
  2. Dropwizard Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics. License: Apache 2 , .
  3. Swagger Swagger is a specification and complete framework implementation for describing, producing, consuming, and visualizing RESTful web services. http://swagger.io/ License: Apache 2 , .
  4. Generator jhipster Hipster stack for Java developers. Spring Boot + AngularJS in one handy generator. License: Apache 2 , .
  5. Jersey JAX-RS reference implementation. License: CDDL 1.0, .
  6. Linkedin Rest.li Rest.li is a REST+JSON framework for building robust, scalable service architectures using dynamic discovery and simple asynchronous APIs. License: Apache 2 , .
  7. Spring hateoas Spring HATEOAS - Library to support implementing representations for hyper-text driven REST web services. License: Apache 2 , .
  8. Feign - HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket. License: Apache 2.
  9. RESTEasy - Fully certified and portable implementation of the JAX-RS specification. License: Apache 2.
  10. RestExpress - Thin wrapper on the JBOSS Netty HTTP stack to provide scaling and performance. License: Apache 2.
  11. RestX - Framework based on annotation processing and compile-time source generation. License: Apache 2.
  12. Spark - Sinatra inspired framework. License: Apache 2.
  13. Apache Wink RESTFul web services based on JAX-RS specification. License: Apache 2.
  14. 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: Apache 2.
  15. Rapidoid - A simple, secure and extremely fast framework consisting of embedded HTTP server, GUI components and dependency injection. http://www.rapidoid.org/ License: Apache 2, .

6. Integration frameworks

Up

  1. 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: ?, .
  2. Apache Camel Apache Camel is a powerful open source integration framework based on known Enterprise Integration Patterns with powerful Bean Integration. License: Apache 2 , .
  3. 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: Apache 2.
  4. Spring Integration - Spring Integration provides an extension of the Spring programming model to support the well-known Enterprise Integration Patterns (EIP). http://projects.spring.io/spring-integration/ License: Apache 2 , .

7. Web Crawling and HTML parsering

Up

  1. Sparklemotion Nokogiri Nokogiri is an HTML, XML, SAX, and Reader parser with XPath and CSS selector support. License: Apache 2 , .
  2. Jsoup Scrapes, parses, manipulates and cleans HTML. https://jsoup.org/ . Hello World examples. License: MIT , .
  3. Webmagic A scalable web crawler framework. License: Apache 2 , .
  4. Antlr4 ANTLR (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, or translating structured text or binary files. License: BSD 3, .
  5. Parboiled Elegant parsing in Java and Scala - lightweight, easy-to-use, powerful. License: Apache 2 , .
  6. Pegdown A pure-Java Markdown processor based on a parboiled PEG parser supporting a number of extensions. License: Apache 2 , .
  7. Apache Nutch - Highly extensible, highly scalable web crawler for production environment. License: Apache 2.
  8. Crawler4j - Simple and lightweight web crawler. License: Apache 2.

8. Json

Libraries that simplify JSON processing.
Up

JSON Parsers

  1. Alibaba Fastjson Fast JSON Processor , . User guide and Hello World examples. License: Apache 2.
  2. Gson - Serializes objects to JSON and vice versa. Good performance with on-the-fly usage, . User guide and Hello World examples
    . License: Apache 2.
  3. LoganSquare - JSON parsing and serializing library based on Jackson's streaming API. Outpeforms GSON & Jackson's library, . User guide and Hello World examples. License: Apache 2.
  4. JSON java A reference implementation of a JSON package in Java, . User guide and Hello World examples. License: Crockford's license (MIT License + "Good, not Evil").
  5. Square Moshi A modern JSON library for Android and Java , . User guide and Hello World examples. License: Apache 2
  6. Instagram Ig json parser Fast JSON parser for java projects, . User guide and Hello World examples. License: BSD 3.
  7. Jackson - Similar to GSON but has performance gains if you need to instantiate the library more often. Subprojects: Jackson core Core part of Jackson, Jackson databind Core part of Jackson that defines Streaming API as well as basic shared abstractions, . User guide and Hello World examples. License: Apache 2.
  8. JSON.simple - A simple Java toolkit for JSON. You can use json-simple to encode or decode JSON text, . User guide and Hello World examples. License: Apache 2.
  9. Genson -Powerful and easy to use Java to JSON conversion library, http://owlike.github.io/genson/ . User guide and Hello World examples. License: Apache 2.

Analog XPath for JSON

  1. Jayway JsonPath Java JsonPath implementation, . User guide and Hello World examples. License: Apache 2.
  2. Alibaba Fastjson Fast JSON Processor , . User guide and Hello World examples. License: Apache 2.

Generates Java types from JSON or JSON Schema or JSON validation

  1. 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. , . User guide and Hello World examples. License: Apache 2.
  2. 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, . User guide and Hello World examples. License: GNU Lesser 3/Apache 2.

9. CSV

Frameworks and libraries that simplify reading/writing CSV data.
Up

  1. opencsv - Simple CSV parser with a commercial-friendly license. License: Apache 2.
  2. Super CSV - Powerful CSV parser with support for Dozer, Joda-Time and Java 8. License: Apache 2.
  3. uniVocity-parsers - One of the fastest and most feature-complete CSV. Also comes with parsers for TSV and fixed width records. License: Apache 2.

10. Integratin with API

Up

  1. Twitter Zipkin Zipkin is a distributed tracing system. It helps gather timing data needed to troubleshoot latency problems in microservice architectures. License: Apache 2 , .
  2. Wizcorp Phonegap facebook plugin The official plugin for Facebook in Apache Cordova/PhoneGap. License: Apache 2 , .
  3. Twitter4j Twitter4J is an open-sourced, mavenized and Google App Engine safe Java library for the Twitter API. License: Apache 2 , .
  4. Netflix Ice AWS (Amazon Web Services) Usage Tool. License: Apache 2 , .
  5. Twitter Commons Twitter common libraries for python and the JVM. License: Apache 2 , .
  6. Alibaba RocketMQ RocketMQ is a fast, reliable, scalable, easy to use message oriented middleware breeding from alibaba massive messaging business. License: Apache 2 , .
  7. Twitter Hbc A Java HTTP client for consuming Twitter's Streaming API. License: Apache 2 , .
  8. Spring social Allows you to connect your applications with SaaS providers such as Facebook and Twitter. License: Apache 2 , .

11. Bitcoin

Up

  1. 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: MIT , .
  2. bitcoinj A library for working with Bitcoin. License: Apache 2 , .
  3. DiabloMiner OpenCL miner for Bitcoin. License: GNU 3, .

12. Clouds

Up

  1. 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: Apache 2 , .
  2. Netflix Eureka AWS Service registry for resilient mid-tier load balancing and failover.. License: Apache 2 , .
  3. Aws sdk java Official mirror of the AWS (Amazon Web Services) SDK for Java. License: Apache 2 , .
  4. Syncany Syncany is a cloud storage and filesharing application with a focus on security and abstraction of storage. License: GNU 3, .
  5. 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: Apache 2 , .
  6. Elasticsearch - Open Source, Distributed, RESTful Search Engine. License: Apache 2 , .
  7. Elasticsearch cloud aws AWS Cloud Plugin for Elasticsearch. License: Apache 2 , .
  8. Elasticsearch analysis ik The IK Analysis plugin integrates Lucene IK analyzer into elasticsearch, support customized dictionary. License: ?, .
  9. Apache CloudStack Apache CloudStack is an IaaS (“Infrastracture as a Service”) cloud orchestration platform. License: Apache 2.
  10. 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 2.
  11. 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: Apache 2.
  12. Quarkus Quarkus is a Cloud Native, (Linux) Container First framework for writing Java applications.

13. Cluster Management

Frameworks which can dynamically manage applications inside of a cluster.
Up

  1. Apache Aurora - Apache Aurora is a Mesos framework for long-running services and cron jobs. License: Apache 2.
  2. 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: ?.
  3. Apache Helix A cluster management framework for partitioned and replicated distributed resources. License: Apache 2.
  4. 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: Apache 2.

14. Document Processing (XLS, DOC and PDF)

Libraries that assist with processing office document formats.

  1. Apache POI - Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). License: Apache 2.
  2. documents4j - API for document format conversion using third-party converters such as MS Word. License: Apache 2.
  3. Docx4j Docx4j is an open source Java library for manipulating Microsoft OpenXML files (Word docx, Powerpoint pptx, and Excel xlsx) via JAXB. License: Apache 2.
  4. jOpenDocument - Processes the OpenDocument format. License: GNU or proprietary. and
  5. Apache Tika The Apache Tika toolkit detects and extracts metadata and structured text content from various documents using existing parser libraries. License: Apache 2.

PDF

Everything that helps with the creation of PDF files.
Up

  1. Apache FOP - Creates PDF from XSL-FO. License: Apache 2.
  2. Apache PDFBox - Toolbox for creating and manipulating PDF. License: Apache 2.
  3. DynamicReports - Simplifies JasperReports. License: GNU Lesser 3.
  4. flyingsaucer - XML/XHTML and CSS 2.1 renderer. License: GNU Lesser 2.1.
  5. iText - Creates PDF files programmatically but current versions require a license for commercial purposes. License: AGPL or proprietary. or . However, versions upto 4.2.0 were licensed under the business-friendly LGPL. From 2.1.7 the version jumped to the 4 series, one of the main changes was a renaming of the packages. These two versions are available in several repositories on github, see for example: iText 4.2.0 and iText 2.1.7. The jars can be downloaded from Maven Central.. 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.
  6. JasperReports - Complex reporting engine. License: GNU Lesser.

15. Native

For working with platform-specific native libraries.
Up

  1. Java Native Access (JNA)Work with native libraries without writing JNI. Also provides interfaces to common system libraries. License: GNU Lesser 2.1 or Apache 2. , .
  2. 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 Project Panama. License: Apache 2.

16. XML and SOAP

  1. Xalan Xalan-J is an XSLT processor written in Java. License: Apache 2.
  2. Xerces Xerces-J is a validating XML parser written in Java. License: Apache 2.
  3. XML Graphics Conversion from XML to graphical output. License: Apache 2.
  4. Santuario Library implementing XML Digital Signature Specification & XML Encryption Specification. License: Apache 2.
  5. VXQuery Apache VXQuery implements a parallel XML Query processor. License: Apache 2.
  6. 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: Apache 2.

17. Geospatial Service Interation

Libraries for working with geospatial data and algorithms.

  1. Apache SIS - Library for developing geospatial applications. License: Apache 2.
  2. Geo - GeoHash utilities in Java. License: Apache 2.
  3. Geotoolkit.org - Library for developing geospatial applications. Built on top of the Apache SIS project. License: GNU Lesser 2.1.
  4. GeoTools - Library that provides tools for geospatial data. License: GNU Lesser 2.1.
  5. H2GIS - A spatial extension of the H2 database. License: GPL 3.
  6. Jgeohash - Library that can assist Java developers in using the GeoHash algorithm. License: Apache 2.
  7. JTS Topology Suite - An API of 2D spatial predicates and functions. License: GNU Lesser 3.
  8. Mapsforge - Software for the rendering of maps based on OpenStreetMap data. License: GNU Lesser 3.
  9. Spatial4j - General purpose spatial/geospatial ASL licensed open-source Java library. License: Apache 2.

18. Reverse Proxy Servers

Servers which accept client requests and direct them to the approriate backend service.

  1. Membrane Service Proxy An open source, reverse HTTP proxy framework written in Java. License: Apache 2 , .

IV. Testing

1. Testing

Tools that test from model to the view.
Up

  1. ArchUnit is a free, simple and extensible library for checking the architecture of your Java code. License: Apache 2 , .
  2. Junit Common testing framework. License:  Eclipse Public 1.0 , .
  3. Mockito Creation of test double objects in automated unit tests for the purpose of TDD or BDD. License: MIT , .
  4. Selenium Portable software testing framework for web applications. License: Apache 2 , .
  5. Cucumber jvm - BDD testing framework. Cucumber-JVM is a pure Java implementation of Cucumber that supports the most popular programming languages for the JVM. Hello World examples. License: MIT, .
  6. 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: BSD 3, .
  7. Spock JUnit-compatible framework featuring an expressive Groovy-derived specification language. License: Apache 2 , .
  8. 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: Apache 2 , .
  9. Fitnesse FitNesse is the fully integrated stand-alone acceptance testing framework and wiki.. License: CPL-1.0, .
  10. 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: MIT , .
  11. JavaHamcrest Matchers that can be combined to create flexible expressions of intent. License: BSD 3, .
  12. Wiremock Stubbs and mocks web services. License: Apache 2 , .
  13. TestNG Testing framework. License: Apache 2 , .
  14. Galenframework Galen Layout and functional testing framework for websites. License: Apache 2 , .
  15. AssertJ Fluent assertions that improve readability. License: Apache 2 , .
  16. Google truth Google's assertion and proposition framework. License: Apache 2 , .
  17. Apache JMeter - Functional testing and performance measurements. License: Apache 2.
  18. Arquillian - Integration and functional testing platform for Java EE containers. License: Apache 2.
  19. Awaitility - DSL for synchronizing asynchronous operations. License: Apache 2.
  20. Citrus - Integration testing framework with focus on client- and serverside messaging. License: Apache 2.
  21. Gatling - Load testing tool designed for ease of use, maintainability and high performance. License: MIT.
  22. GreenMail - In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. License: MIT.
  23. JGiven - Developer-friendly BDD testing framework compatible with JUnit and TestNG. License: MIT.
  24. JMockit - Mocks static, final methods and more. License: MIT.
  25. JUnitParams - Creation of readable and maintainable parametrised tests. License: Apache 2.
  26. Moco - Concise web services for stubs and mocks, Duke's Choice Award 2013. License: MIT.
  27. PIT - Fast mutation-testing framework for evaluating fault-detection abilities of existing JUnit or TestNG test-suites. License: Creative Commons License.
  28. PowerMock - Enables mocking of static methods, constructors, final classes and methods, private methods and removal of static initializers. License: Apache 2.
  29. REST Assured - Java DSL for easy testing for REST/HTTP services. License: Apache 2.
  30. Selenide -Concise API around Selenium to write stable and readable UI tests. License: MIT.
  31. Unitils - Modular testing library for unit and integration testing. License: Apache 2.
  32. 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: Apache 2.
  33. cdp4j - Web-automation library for Java. It can be used for automating the use of web pages and for testing web pages. License: MIT.
  34. 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: The Unlicense
  35. LogCaptor - Captures log entries for unit testing purposes. License: Apache 2 , .

2. Code Coverage

Frameworks and tools that enable collection of code coverage metrics for test suites.
Up

  1. JaCoCo - Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation; prominently used by EclEmma, the Eclipse code-coverage plugin. License: Eclipse Public License v1.0, Apache 2, BSD.
  2. Clover - Proprietary code coverage tool by Atlassian that relies on source-code instrumentation, instead of bytecode instrumentation. License: proprietary
  3. Cobertura - Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. License: GNU 2.
  4. JCov - Code coverage tool used in the OpenJDK project's development toolchain. License: GNU 2.

3. Continuous Integration

Tools which support continuously building, testing and releasing applications.
Up

  1. Bamboo - Atlassian's solution with good integration of their other products. You can either apply for an open-source license or buy it.
  2. CircleCI - Hosted service with a free trial.
  3. Codeship - Hosted services with a limited free plan.
  4. fabric8 - Integration platform for containers. License: Apache 2.
  5. Go - ThoughtWork's open-source solution. License: Apache 2.
  6. Jenkins - Provides server-based deployment services. License: MIT.
  7. TeamCity - JetBrain's CI solution with a free version. License: proprietary
  8. Travis - Hosted service often used for open-source projects. License: ?
  9. Hudson - Hudson monitors the execution of repeated jobs, such as building a software project or jobs run by cron. Currently Hudson focuses on the following two jobs: Building/testing software projects continuously and Monitoring executions of externally-run jobs. License: Eclipse Public License v1.0.
  10. 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: Apache 2.

4. Formal Verification

Formal-methods tools: proof assistants, model checking, symbolic execution etc.
Up

  1. CATG - Concolic unit testing engine. Automatically generates unit tests using formal methods. License: BSD 2, License: BSD 2.
  2. Checker Framework - Pluggable type systems. Includes nullness types, physical units, immutability types and more. License: GNU 2.
  3. Daikon - Daikon detects likely program invariants and can generate JML specs based on those invariats. License: GNU.
  4. Java Modeling Language (JML) - Behavioral interface specification language that can be used to specify the behavior of code modules. It combines the design by contract approach of Eiffel and the model-based specification approach of the Larch family of interface specification languages, with some elements of the refinement calculus. Used by several other verification tools. License: GNU 2.
  5. Java Path Finder (JPF) - JVM formal verification tool containing a model checker and more. Created by NASA. License: NASA OPEN SOURCE AGREEMENT VERSION 1.3
  6. jCUTE - Concolic unit testing engine that automatically generates unit tests. Concolic execution combines randomized concrete execution with symbolic execution and automatic constraint solving. License: proprietary.
  7. JMLOK 2.0 - Detects nonconformances between code and JML specification through the feedback-directed random tests generation, and suggests a likely cause for each nonconformance detected. License: GNU 3.
  8. KeY - The KeY System is a formal software development tool that aims to integrate design, implementation, formal specification, and formal verification of object-oriented software as seamlessly as possible. Uses JML for specification and symbolic execution for verification. License: GNU.
  9. OpenJML - Translates JML specifications into SMT-LIB format and passes the proof problems implied by the program to backend solvers. License: GNU 2 and Eclipse Public License v1.0.

V. Tools for developing

1. IDE

Integrated development environments that try to simplify several aspects of development.
Up

  1. JetBrains Intellij Сommunity Supports a lot of JVM languages and provides good options for Android development. The commercial edition targets the enterprise sector. http://www.jetbrains.com/idea/ License: Apache 2 , .
  2. JetBrains Ideavim Vim emulation plug-in for IDEs based on the IntelliJ platform. License: GNU 2, .
  3. Rstudio RStudio is an integrated development environment (IDE) for R. License: GNU AGPLv3, .
  4. Vrapper Vim-like editing in Eclipse. License: GNU 3.0, .
  5. Eclipse themes Jeeeyul's Eclipse Themes allows you to customize every single details of Eclipse's appearance. License: Eclipse Public 1.0, .
  6. Eclipse color theme Color themes for Eclipse. License: Eclipse Public 1.0, .
  7. Eclim Expose eclipse features inside of vim. License: GNU 3, .
  8. 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: Apache 2 , .
  9. Idea markdown Markdown language support for IntelliJ IDEA. License: Apache 2 , .
  10. Eclipse - Established, open-souce project with support for lots of plugins and languages. License: Eclipse Public License v1.0.
  11. NetBeans - Provides integration for several Java SE and EE features from database access to HTML5. License: GNU 2 and CDDL 1.0

2. Deploy, config and build

Up

Build

Tools which handle the build cycle and dependencies of an application.

  1. Apache Maven - Declarative build and dependency management which favors convention over configuration. It might be preferable to Apache Ant which uses a rather procedural approach and can be difficult to maintain. http://maven.apache.org License: Apache 2 , .
  2. Google Bazel - Build tool from Google that builds code quickly and reliably. http://bazel.io License: Apache 2 , .
  3. Gradle - Incremental builds which are programmed via Groovy instead of declaring XML. Works well with Maven's dependency management. http://gradle.org/ License: Apache 2 , .
  4. Apache Ant - pache Ant is a Java library and command-line tool whose mission is to drive processes described in build files as targets and extension points dependent upon each other. Subproject: Apache AntUnit - testing Ant task, Apache Compress Ant Library - support additional archive formats, Apache Ivy - very powerful dependency manager, Apache IvyDE - IvyDE plugin for Eclipse. License: Apache 2.
  5. Facebook Buck - A fast build system that encourages the creation of small, reusable modules over a variety of platforms and languages. License: Apache 2 , .
  6. 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: Apache 2.

Configuration

Libraries that provide external configuration.
Up

  1. config - Configuration library for JVM languages. License: Apache 2 , .
  2. owner - Reduces boilerplate of properties. License: BSD 3.
  3. Netflix Archaius - Library for configuration management API. Archaius includes a set of configuration management APIs used by Netflix. License: Apache 2 , .
  4. LightAdmin - Pluggable data administration UI library for Java web applications. License: Apache 2.
  5. Apache Yetus A collection of libraries and tools that enable contribution and release processes for software projects. License: Apache 2.

Distribution

Tools which handle the distribution of applications in native formats.
Up

  1. Bintray - Version control for binaries which handles the publishing. Can also be used with Maven or Gradle and has a free plan for open-source software or several business plans. License: proprietary
  2. Capsule - Simple and powerful packaging and deployment. A fat JAR on steroids or a "Docker for Java" that supports JVM-optimized containers. . License: Eclipse Public License v1.0.
  3. Central Repository - Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven and available in all other build tools. License: proprietary
  4. IzPack - Setup authoring tool for cross-platform deployments. License: Apache 2 , ).
  5. JitPack - Easy to use package repository for GitHub. Builds Maven/Gradle projects on demand and publishes ready-to-use packages. License: Apache 2 , ).
  6. Launch4j - Wraps JARs in lightweight and native Windows executables. License: BSD 3 or MIT.
  7. Nexus - Binary management with proxy and caching capabilities. License: proprietary
  8. packr - Packs JARs, assets and the JVM for native distribution on Windows, Linux and Mac OS X. License: Apache 2.
  9. Spotify Helios Docker container orchestration platform. License: Apache 2 , .

3. Perfomance tools

Tools for performance analysis, profiling and benchmarking.
Up

  1. Square Leakcanary A memory leak detection library for Android and Java. License: Apache 2 , .
  2. Dropwizard Metrics - Capturing JVM- and application-level metrics. License: Apache 2 , .
  3. 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: GNU Lesser 2.1, .
  4. 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: BSD 2, .
  5. Naver Pinpoint Pinpoint is an open source APM (Application Performance Management) tool for large-scale distributed systems written in Java. License: Apache 2 , .
  6. jHiccup - Logs and records platform JVM stalls. License: BSD 2.
  7. JMH - Microbenchmarking tool for the JVM. License: GNU 2.
  8. LatencyUtils - Utilities for latency measurement and reporting. License: BSD 2.
  9. VisualVM - Visual interface for detailed information about running applications. License: GNU 2 with the Classpath Exception.
  10. YourKit Java Profiler - Commercial profiler. License: proprietary
  11. JProfiler - Commercial profiler. License: proprietary
  12. XRebel - A commercial profiler for Java Web applications. License: proprietary

4. Code Analysis

Tools that provide metrics and quality measurements.
Up

  1. SonarQube Integrates other analysis components via plugins and provides an overview of the metrics over time. http://www.sonarqube.org License: GNU Lesser 3, .
  2. Google Error prone - Catches common programming mistakes as compile-time errors. License: Apache 2 , .
  3. 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: CDDL 1.0, ).
  4. Checkstyle - Static analysis of coding conventions and standards. License: GNU Lesser 2.1.
  5. FindBugs - Static analysis of bytecode to find potential bugs. License: GNU Lesser.
  6. jQAssistant - Static code analysis with Neo4J-based query language. License: GNU 3.
  7. PMD - Source code analysis for finding bad coding practices. License: BSD 4.

5. Monitoring

Tools that monitor applications in production.
Up

  1. AppDynamics - Commercial performance monitor. License: proprietary
  2. JavaMelody - Performance monitoring and profiling. License: Apache 2.
  3. jmxtrans - Tool to connect to multiple JVMs and to query them for their attributes via JMX. Its query language is based on JSON, which allows non-Java programmers to access the JVMs attributes. Likewise, this tool supports different output writes, including Graphite, Ganglia, StatsD, among others. License: MIT.
  4. Kamon - Tool for monitoring applications running on the JVM. License: Apache 2.
  5. Glowroot - Open source Java APM. License: Apache 2.
  6. New Relic - Commercial performance monitor. License: proprietary
  7. SPM - Commercial performance monitor with distributing transaction tracing for JVM apps. License: proprietary
  8. OverOps - Root cause automation in production. License: proprietary

6. Redefinition of classes at runtime

Up

  1. Dynamic Code Evolution Virtual Machine (DCE VM) - The Dynamic Code Evolution Virtual Machine (DCE VM) is a modification of the Java HotSpot(TM) VM that allows unlimited redefinition of loaded classes at runtime. License: GNU 2
  2. DCEVM - This project is a fork of original DCEVM project. The purpose of the project is to maintain enhanced class redefinition functionality for OpenJDK HotSpot 7/8 and Oracle JVM. License: GNU 2
  3. HotswapAgent - Java unlimited redefinition of classes at runtime. License: GNU 2
  4. JRebel - Reload code changes instantly. Skip the build and redeploy process. JRebel reloads changes to Java classes, resources, and over 90 frameworks. License: proprietary
  5. Spring Loaded - Java agent that enables class reloading in a running JVM. License: Apache 2

7. Documentation

Up

  1. Markdown-doclet: A Doclet that allows the use of Markdown (Pegdown) and PlantUML in JavaDoc comments. License: GPL 3.0, .

8. Other

Up

  1. Google J2ObjC: A Java to iOS Objective-C translation tool and runtime. License: Apache 2 , .
  2. Bytecode viewer A Java 8 Jar & Android APK Reverse Engineering Suite (Decompiler, Editor, Debugger & More). License: GNU 3, .
  3. 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: WTFPL, .
  4. Jabba: Java Version Manager inspired by nvm (Node.js). The goal is to provide unified pain-free experience of installing (and switching between different versions of) JDK. License Apache 2 , .
  5. Chocotea: Generates postman collection, environment and integration tests from java code. License Apache 2 , .

Current implementations of the JVM/JDK.

  1. JDK 9 - Early access releases of JDK 9. License: GNU 2.
  2. OpenJDK - Open-source implementation for Linux. License: GNU 2.
  3. Zulu OpenJDK - OpenJDK builds for Windows, Linux, and Mac OS X through Java 8. License: GNU 2.
  4. Zulu OpenJDK 9 - Early access OpenJDK 9 builds for Windows, Linux, and Mac OS X. License: GNU 2.

VI. Program languages and applications that were written with Java

1. Program languages that were written with Java

Up

  1. Clojure The Clojure programming language. License: Apache 2 , .
  2. JetBrains Kotlin The Kotlin Programming Language. License: Apache 2 , .
  3. Gocd Main repository for Go Continuous Delivery. License: Apache 2 , .
  4. Groovy core The Groovy programming language. License: Apache 2 , .
  5. Jphp compiler Jphp An alternative to Zend PHP, like JRuby and Jython only for PHP. License: Apache 2 , .
  6. Trifork Erjang A JVM-based Erlang VM. License: Apache 2 , .

2. Other program languages tools that were written with Java

Up

  1. Go lang idea plugin Google Go language IDE built using the IntelliJ Platform. License: Apache 2 , .
  2. Processing js A port of the Processing visualization language to JavaScript. License: MIT , .
  3. Pysonar2 PySonar2 is a type inferencer and indexer for Python, which performs sophisticated interprocedural analysis to infer types. License: GNU GNU AGPLv3, .

3. Javascript

Up

  1. 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: BSD, .
  2. Google Closure compiler A JavaScript checker and optimizer. License: Apache 2 , .
  3. 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: Apache 2 , .
  4. Dynjs ECMAScript runtime for the JVM. License: Apache 2 , .

4. Frameworks that help to create parsers, interpreters or compilers

Frameworks that help to create parsers, interpreters or compilers.
Up

  1. ANTLR - Complex full-featured framework for top-down parsing. License: BSD 2.
  2. JavaCC -More specific and slightly easier to learn. Has syntactic lookahead. License: BSD .

5. Opensource applications that were written with Java

Up

  1. Square Keywhiz - A system for distributing and managing secrets. License: Apache 2 , .
  2. Rundeck Job scheduler and runbook automation. Enable self-service access to existing scripts and tools. License: Apache 2 , .
  3. 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: Apache 2 , .
  4. OpenTripPlanner An open source multi-modal trip planner. License: Apache 2 , .
  5. Netflix Servo Netflix Application Monitoring Library. License: Apache 2 , .
  6. 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: Apache 2 , .
  7. Netflix Exhibitor ZooKeeper co-process for instance monitoring, backup/recovery, cleanup and visualization. License: Apache 2 , .
  8. Glyptodon Guacamole client - The HTML5/JavaScript Guacamole client, its containing web application, and related components. License: MIT , .
  9. Bateman - Simple stock trading system that optimizes its parameters with particle swarm optimization. License: MIT , .
  10. Java repl - Java REPL is a simple Read-Eval-Print-Loop for Java language. License: Apache 2 , .
  11. Seyren An alerting dashboard for Graphite. License: Apache 2 , .
  12. Graphhopper Open source routing library and server using OpenStreetMap. License: Apache 2 , .
  13. Ttorrent Turn's BitTorrent Java library (tracker and client). License: Apache 2 , .
  14. Geoserver Official GeoServer repository. License: GNU 2.0, .
  15. Languagetool - Style and Grammar Checker for 25+ Languages. License: GNU Lesser 2.1, .
  16. Apache OpenMeetings Video conferencing, instant messaging, white board and collaborative document editing application. License: Apache 2.

6. Opensource games that were written with Java

Up

  1. Bukkit The Minecraft Mod API. License: GNU 2, .
  2. 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: Apache 2 , .
  3. MinecraftForge Modifications to the Minecraft base files to assist in compatibility between mods. License: GNU AGPLv2.1, .
  4. SpongePowered Sponge A Forge mod that implements SpongeAPI. License: MIT , .
  5. BuildCraft BuildCraft — mod for Minecraft. License: Apache 2 , .
  6. Equivalent Exchange 3 pahimar Equivalent-Exchange-3. Mods for Minecraft. License: Apache 2 , .
  7. SpongePowered SpongeAPI A Minecraft plugin API. License: Apache 2 , .
  8. WorldEdit An in-game voxel map editor for Minecraft. License: GNU Lesser 3, .
  9. Essentials Essentials - Minecraft server command mod - Adds over 100 commands for use in-game to help manage a server. License: GNU 3, .
  10. GlowstoneMC Glowstone An open-source server for the Bukkit Minecraft modding interface. License: MIT , .
  11. Tribal Trouble - Tribal Trouble is a realtime strategy game released by Oddlabs in 2004. In 2014 the source was released under GPL2 license. License: GNU 2, .

VII. Other

1. Source code examples

Up

  1. Java design patterns Design patterns implemented in Java. License:  MIT , .
  2. Spring projects Spring mvc showcase Demonstrates the capabilities of the Spring MVC web framework through small, simple examples. License: Apache 2 , .
  3. Javaee7 samples Java EE 7 Samples. License: MIT/CDDL/GPLv2, .
  4. Algorithms Solutions for some common algorithm problems written in Java. License: Apache 2 , .
  5. WikiSort Fast and stable sort algorithm that uses O(1) memory. License: unlicense.org, .
  6. Spring petclinic A sample Spring-based application. License: Apache 2 , .
  7. Spring integration samples You are looking for examples, code snippets, sample applications for Spring Integration? This is the place. License: Apache 2 , .
  8. Java algorithms implementation Algorithms and Data Structures implemented in Java. License: Apache 2 , .
  9. 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: Apache 2 , .
  10. Databricks Learning spark Example code from Learning Spark book. License: MIT , .
  11. 7guis 7GUIs is a GUI programming usability benchmark. License: ?, .
  12. Spring projects Spring data jpa examples Spring Data Example Projects. License: Apache 2 , .
  13. Modern Java - A Guide to Java 8 - Modern Java - A Guide to Java 8. License: MIT.
  14. Java Micro code pieces - community library of micro Java code solutions for popular issues.

2. Benchmark results

Up

  1. Jvm serializers - Benchmark comparing serialization libraries on the JVM. License: ?, .
  2. YCSB (Yahoo! Cloud Serving Benchmark) - Yahoo! Cloud Serving Benchmark. License: Apache 2 , .

3. Working with git and github

Up

  1. 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: Apache 2 , .
  2. 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

Active discussions.
Up

  • 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.

2. Influential Books

Books that had a high impact and are still worth reading.
Up

3. Websites

Sites to read.
Up


Overview (`helloworlds/readme.md`)

This project is collection of Hello World examples for many libraries and frameworks (In-progress)

The idea of this project is collecting "Hello World examples" for all libraries and frameworks in one place
to help learning or selecting this libraries and frameworks. Any contribution is welcome! Just add your examples to this project.


Список полезных ссылок для Java программиста

В данном файле собрано большое количество ссылок по разделам на полезные Java библиотеки и фреймворки и краткое описание, так же указан рейтинг на github (star), лицензия или лицензии под которым выложен код библиотеки и возможно или нет линковать данную библиотеку с коммерческим закрытым ПО (строгость копилефта).

В данный файл включен как перевод awesome link, так и все немобильные проекты github'a c количеством star более 390, более 250 ссылок на русскоязычное видео по разным темам и многое другое. Если хотите посмотреть отдельные файлы, то только проекты github'a тут, а список видео здесь, но все ссылки можно найти и в этом файле.

Обратите внимание: на проект "Hello Worlds examples" - его целью является собирать в одном месте простые примеры использования библиотек и фреймворков для облегчения их изучения и выбора. Буду очень признателен добавлению любых примеров!

Любые дополнения и изменения всячески приветствуются!

I. Фреймворки и библиотеки

1. Фреймворки и библиотеки общего назначения

К оглавлению

  1. Spring framework Spring — наверное, самый распространенный фреймворк Java в мире. Лицензия: Apache 2 , рейтинг github'а - 5921, на stackoverflow - более 100 тыс.вопросов.
  2. Google Guava Очень популярная библиотека от гугла, расширяющая возможности JDK, в том числе добавляющая новые коллекции, добавляющая элементы функционального программирования в Java, кэширование, функции работы с примитивами, библиотеки работы с многопоточностью, аннотациями, строками, I/O, и т.п. Работает с JDK1.6 и выше. . Лицензия: Apache 2 , рейтинг github'а - 3813.
  3. Apache Commons - Реализует различные функции, такие как конфигурирование, валидирование, коллекции, загрузка файлов или работу с XML, Лицензия: Apache 2
  4. Spring Boot — система быстрого создания конфигурации из типовых шаблоннов (шаблонов настройки orm, DI, Spring MVC и т.п.) . Лицензия: Apache 2 , рейтинг github'а - 2386.
  5. Lombok Очень горячие добавления для языка программирования Java. Генератор кода, целью которого является сокращения реализации рутинного кода. Лицензия: MIT , рейтинг github'а - 1540.
  6. Puniverse Quasar Quasar это библиотека, добавляющая Fibers (высокопроизводительные легкие threads), Go-подобные channels и Erlang-подобные actors в JVM. Hello World examples. Лицензия: Eclipse Public v1.0/GNU Lesser 3, рейтинг github'а - 1091.
  7. Rootbeer GPU Compiler Rootbeer GPU Compiler — программирование с использованием GPU на Java. Лицензия: MIT , рейтинг github'а - 972.
  8. Oblac Jodd Jodd это набор Java инструментов и микро фреймворк, компактный, но мощный. Jodd = tools + ioc + mvc + db + aop + tx + json + html < 1.5 Mb. Лицензия: BSD 2, рейтинг github'а - 912.
  9. Google Jimfs Jimfs это in-memory файловая система для Java 7 и выше, реализующая API абстрактной файловой системы, описанный в java.nio.file.. Лицензия: Apache 2 , рейтинг github'а - 752.
  10. Spring batch Spring Batch это легковесный, всеобъемлющий фреймворк, предназначенный для разработки надежных приложений, работающих по расписанию (batch applications), жизненно важных для ежедневных операций корпоративных систем.. Лицензия: Apache 2 , рейтинг github'а - 448.
  11. Microserver — Удобная микросервисная plugin система для Spring & Spring Boot, с более чем 30 plugins. Лицензия: Apache 2 , github's star - 429.
  12. Greenrobot common greenrobot-common - маленькая библиотека добавляющая общие утилиты и классы (например, классы работы со stream-based IO, файлами, строками, датой/временем и hash map/hash set с примитивными типами) для Android и Java проектов. . Лицензия: Apache 2 , рейтинг github'а - 419.
  13. Kilim Легковесные потоки для Java с обменом сообщениями, nio, http и поддержкой расписания . Лицензия: MIT , рейтинг github'а - 517.
  14. Apache Isis Apache Isis это фреймворк для разработки rapidly developing domain-driven приложений на in Java. Лицензия: Apache 2.
  15. Apache Zest Apache Zest это фремворк для разработки Composite Oriented Programming для domain centric приложений. Это концепция включает в себя такие концепции как: Aspect Oriented Programming, Dependency Injection и Domain Driven Design. Лицензия: Apache 2.

2. Веб-фреймворки (Web Frameworks)

Веб-фреймворки (Web Frameworks)

Веб-фреймворки служат для реализации веб-приложений и обработки взаимодйствия service-side и frontend-side веб-приложений.
К оглавлению

  1. Play Framework Play Framework позволяет легко разрабатывать расширяемые веб-приложения на Java и Scala. https://www.playframework.com/ . Лицензия: Apache 2 , рейтинг github'а - 6771.
  2. Spark Фреймворк, вдохновленный фреймоворком Sinatra, для java. Лицензия: Apache 2 , рейтинг github'а - 2596.
  3. Atmosphere - фреймворк для разработки клиентской и серверной части асинхронных веб.приложений, поддерживающий разные серверны, браузеры и плагины. Лицензия: CDDL1 / Apache 2 , рейтинг github'а - 2235.
  4. Grails - вебфреймворк. https://grails.org/ Лицензия: Apache 2 , рейтинг github'а - 1386.
  5. Blade - простой и элегантный вебфреймворк, http://bladejava.com. Лицензия: Apache 2 , рейтинг github'а - 1360.
  6. Ninja это полноценный веб фреймворк для Java. Надежный, быстрый и очень продуктивный.http://www.ninjaframework.org/. Лицензия: Apache 2 , рейтинг github'а - 894.
  7. Electronicarts Orbit — современный фреймворк для JVM языков, который упрощает создание и обслуживание распределенных и масштабируемых онлайн сервисов. Лицензия: BSD 3, рейтинг github'а - 741.
  8. Ratpack это простой, мощный набор библиотек для создания высокопроизводительных вебприложений. http://ratpack.io/ Лицензия: Apache 2 , рейтинг github'а - 662.
  9. Vaadin — фреймворк для разработки веб-приложений, основанный на GWT, с server-side моделью программирования и состоянием UI на сервере.https://vaadin.com/ Лицензия: Apache 2 , рейтинг github'а - 398.
  10. ZK framework Java фреймворк для создания высокопроизводительных веб и мобильных приложений.. Лицензия: GNU Lesser, рейтинг github'а - 161.
  11. Apache Tapestry - Компонентно-ориентированный фреймворк для создания динамичных, надежных, легко маштабируемый веб приложений, Лицензия: Apache 2.
  12. Apache Wicket - Компонентно-ориентированный вебфреймворк, похожий на Tapestry с stateful GUI, Лицензия: Apache 2.
  13. Google Web Toolkit - Набор инструментов разработки, включающий компилятор из Java кода в JavaScript для создания кода, исполняемого в браузере, XML парсер, API для RPC, интеграция с JUnit, поддержка разных языков и локалей и виджеты для создания GUI, Лицензия: Apache 2.
  14. Pippo - Небольшой, модульный Sinatra-подобный микрофреймворк, Лицензия: Apache 2.
  15. Spring MVC - Предоставляет много различных возможностей для разработки вебприложений от dependency injection до аспектно-ориентированного программирования и поддержки security, Лицензия: Apache 2.
  16. JavaServer Faces - Открытая реализация JSF стандарта от Oracle, Лицензия: GNU 2 или CDDL 1.0
  17. JavaServer Pages - Популярная Java технология шаблонов для создания вебсайтов с реализацией пользовательских тегов, Лицензия: GNU 2 или CDDL 1.0
  18. Apache Cocoon Separation of concerns и component-based веб-фремворк. Лицензия: Apache 2.
  19. Apache Struts Apache Struts это открытый фреймворк для создания Java веб-приложений. Лицензия: Apache 2.
  20. Apache Sling Иновационный веб фреймворк основанный на JCR и OSGi. Лицензия: Apache 2.
  21. Apache MyFaces Первая открытая реализация JavaServer Faces. Лицензия: Apache 2.
  22. Apache Pivot Apache Pivot это открытая платформа для создания installable Internet applications (IIAs) [другое название rich Internet application]. Лицензия: Apache 2.
  23. Apache Turbine Turbine это основанный на сервлетах фреймворк, который позволяет Java developers быстро разрабатывать веб-приложения. Лицензия: Apache 2.
  24. Apache OODT Apache OODT это компонентный веб-фреймворк. Лицензия: Apache 2.
  25. VRaptor VRaptor 4 это производтельный открытый MVC вебфреймворк на основе CDI, github's star - 278. http://www.vraptor.org . Лицензия: Apache 2.
  26. CUBA Platform - Высокоуровневая Java платформа с открытым кодом
    для создания корпоративных информационных систем и RIA, на базе Spring, EclipseLink и Vaadin, рейтинг github'а - 215. Лицензия: Apache 2.

Библиотеки для Web разработки

  1. Tobie ua-parser много языковое портирование библиотеки для парсенга параметров user agent браузера. Лицензия: Apache 2/MIT/Perl, рейтинг github'а - 1497.
  2. Ghost Driver это реализация Remote WebDriver Wire протокола, использующая PhantomJS как бэкенд. Лицензия: BSD 2, рейтинг github'а - 1179.
  3. B3log Solo - система управления блогами на Java. Лицензия: Apache 2 , рейтинг github'а - 519.
  4. Baasbox это проект для создания backend для мобильных и веб-приложений . Лицензия: ?, рейтинг github'а - 499.
  5. Kolorobot Spring MVC 4 Quickstart Maven Archetype — проект-шаблон (архетип) для Maven'a для быстрого создания проектов веб-приложений Spring MVC 4. Содержит Spring MVC 4, Servlet 3.0, Thymeleaf, Bootstrap, JPA 2.0, MongoDB, JUnit/Mockito, Spring Security 3.2. Лицензия: ?, рейтинг github'а - 480.
  6. Gargl - Generic API Recorder and Generator Lite (произносится "Gargle") - инструмент для автоматизации любого веб-сайта, позволяет записывать любые запросы к сайту и превращать их в повторно используемый код на любом из языком программирования. Лицензия: MIT , рейтинг github'а - 462.
  7. Liferay plugins - набор плагинов для Liferay портала. Лицензия: GNU Lesser 2.1, рейтинг github'а - 444.
  8. Netflix Ribbon это библиотека для создания load balancers. Лицензия: Apache 2 , рейтинг github'а - 410.
  9. Gwt bootstrap это библиотека объединяющая виджеты из Twitter Bootstrap и возможности Google Web Toolkit. Лицензия: Apache 2 , рейтинг github'а - 409.
  10. Netflix Zuul это сервис (edge service), обрабатывающий все запросы от всех устройств и вебсайтов к backend всех Netflix потоковых приложений, он обеспечивает динамическую маршрутизацию, мониторинг, отказоустойчивость и безопасность. Лицензия: Apache 2 , рейтинг github'а - 407.
  11. PrimeFaces - JSF фреймворк который имеет как свободную, так и комерческую версию с полноценной поддержкой. Предоставляет несколько frontend компонентов. Лицензия: Apache 2.
  12. Spring Boot - Микрофреймворк для упрощения разработки новых Spring приложений. Лицензия: Apache 2.
  13. CSSEmbed это небольшая программа/библиотека для автоматического добавления URIs в CSS files. Лицензия: MIT , рейтинг github'а - 407.
  14. Athou commafeed RSS reader, основанный Dropwizard и AngularJS, вдохновленный Google Reader . Лицензия: Apache 2 , рейтинг github'а - 1226.
  15. Apache Any23 Anything To Triples (Any23) это библиотека, веб-сервис и консольный инструмент для отображения в RDF формате различных данных полученных из веба. Лицензия: Apache 2.
  16. Apache Forrest Apache Forrest это фреймворк для представления данных из разных форматов. Лицензия: Apache 2.

Template Engine

Инструменты для замены выражений в шаблонах на реальные данные.

  1. Apache Velocity - Работает с шаблонами для генерации HTML страниц, emails или даже кодогенерация в целом, Лицензия: Apache 2.
  2. Apache FreeMarker - Библиотека поддержки универсальных шаблонов без тяжелых или запутанных зависимостей на другие библиотеки. Лицензия: Apache 2.
  3. Handlebars.java - Семантически подобен шаблонам Mustache, но с меньшим количеством бизнес логии в шаблонах, рейтинг github'а - 451. Лицензия: Apache 2.
  4. Thymeleaf - Цель: заменять JSP и работать с XML файлами в целом, Лицензия: Apache 2.
  5. Mustache.java - портирование Mustache.js (систему создания и использования веб.шаблонов с минимальной бизнес логикой) для Java. Лицензия: Apache 2 , рейтинг github'а - 733.
  6. Apache Tiles Apache Tiles это templating фреймворк, упрощающий разработку веб приложений. Лицензия: Apache 2 , рейтинг github'а - 451.

CMS и content management

  1. Apache Stanbol Программные компоненты для semantic content management. Лицензия: Apache 2 , рейтинг github'а - 451.
  2. Apache JSPWiki Wiki движок на стандартных J2EE компонентах (Java, servlets, JSP). Лицензия: Apache 2 , рейтинг github'а - 451.
  3. Apache Portals Движок создания надежного, полностью функционального портала для разных платформ и языков программироваия. Лицензия: Apache 2.
  4. Apache Roller Apache Roller это полностью функциональный, многопользовательский блог движок и сервер, подходящих для самых разных сайтов блогов. Лицензия: Apache 2 , рейтинг github'а - 451.
  5. Apache Chemistry Apache Chemistry это открытая реализация спецификации Content Management Interoperability Services (CMIS) для обмена данными между различными CMS. Лицензия: Apache 2.

3. Создания GUI

Библиотеки для создания интерфейс пользователя (кроме веб)

  1. JavaFX - Правопреемник Swing, Лицензия: Oracle, проприетарная.
  2. Scene Builder - Визуальный инструмент разработки GUI для приложений JavaFX Лицензия: Oracle, проприетарная. , но см. Gluon Scene Builder (ниже)
  3. [Gluon Scene Builder] - Scene Builder это открытая и свободная реализация JavaFX Scene Builder. Лицензия: BSD.
  4. SWT - The Standard Widget Toolkit (SWT) это набор бибилиотек и инструментария для создания графических виджетов в платформе Java. Лицензия: Eclipse Public License v1.0.
  5. Lanterna - Легковесная библиотека, реализующая консольно-текстовый GUI, похожий на curses. Лицензия: LGPL 2.1.
  6. Gephi - Кроссплатформенная система для визуализации, изменения и управления большими графами. Лицензия: GNU 3 или CDDL 1.0

4. Создание бизнес-приложений

Фреймворки и библиотеки для создания бизнес-приложений на Java
К оглавлению

  1. Codecademy EventHub — позволяет анализировать бизнес-события, чтобы получать KPI, conversion rate и т. п. Бизнес метрики событий. Лицензия: MIT , рейтинг github'а - 1043.
  2. Killbill - свободная платформа биллинга и проведения платежей . Лицензия: Apache 2 , рейтинг github'а - 902.
  3. Activiti это легковесная система управления бизнес-процессами (Business Process Management (BPM) Platform ) . Лицензия: Apache 2 , рейтинг github'а - 861.
  4. Liferay Portal это свободная веб-платформа для построения бизнес-приложений . Лицензия: GNU Lesser 2.1, рейтинг github'а - 739.
  5. Broadleaf Commerce - eCommerce-фреймворк для крупных предприятий, основанный на Spring. Лицензия: Apache 2 , рейтинг github'а - 518.
  6. Droolsjbpm Drools это приложение Business Rules Management System (BRMS), которое реализует Business Rules Engine (BRE), предоставляет механизмы авторизации, управления правилами (rules), управление приложением (Drools Workbench) и плагин для разработки под Eclipse IDE.. Лицензия: Apache 2 , рейтинг github'а - 421.
  7. Spring Roo — фреймворк с открытым исходным кодом для быстрого создания бизнес-приложений на Java. Полученные в результате приложения используют общие технологии Java, такие как Spring Framework, Java Persistence API, JSP, Apache Maven и AspectJ. Spring Roo является частью проекта Spring.. Лицензия: Apache 2 , рейтинг github'а - 399.
  8. Apache OFBiz Apache OFBiz (The Apache Open For Business Project) это открытый и свободный фреймворк для автоматизации бизнес процессов больших предприятий, включает в себя компоненты ERP (Enterprise Resource Planning), CRM (Customer Relationship Management), E-Business / E-Commerce, SCM (Supply Chain Management), MRP (Manufacturing Resource Planning), MMS/EAM (Maintenance Management System/Enterprise Asset Management), POS (Point Of Sale). License: Apache 2.
  9. Apache Portals Движок создания надежного, полностью функционального портала для разных платформ и языков программирования. Лицензия: Apache 2.
  10. Apache ODE Apache ODE это реализация WS-BPEL спецификации, которая позволяет описывать бизнес-процессы и веб сервисы для создания enterprise приложений. Лицензия: Apache 2.

5. Игровые фреймворки (Game Development)

К оглавлению

  1. libgdx Кроссплатформенный фреймворк для разработки игр на основе OpenGL (ES), работает под Windows, Linux, Mac OS X, Android, iOS и в браузерах с WebGL. Лицензия: Apache 2 , рейтинг github'а - 6579.

  2. Disunity Экспериментальный набор инструментов для Unity asset и asset bundle files. Лицензия: unlicense.org, рейтинг github'а - 828.

  3. lwjgl-basics lwjgl-basics это минималистская shader-based библиотека для создания 2D LWJGL sprite игр.https://libgdx.badlogicgames.com/. Лицензия: ?, рейтинг github'а - 656.

  4. jMonkeyEngine jMonkeyEngine это 3D игровой движок для Java разработчиков. http://jmonkeyengine.org/ Лицензия: BSD 3, рейтинг github'а - 624.

  5. Jetserver Jetserver высокоскоростной nio сокет Java сервер для multiplayer игр созданный используя Netty и Mike Rettig Jetlang. Лицензия: MIT , рейтинг github'а - 484.

  6. LWJGL 2.X LWJGL 2.X — Легковесная игровая библиотека на Java. http://www.lwjgl.org/ Лицензия: BSD 3, рейтинг github'а - 394.

  7. Ardor3D - 3D игровой движок построенный на jMonkeyEngine 2.0.
    Лицензия: zlib.

  8. DimensioneX Multiplayer Engine - Игровой движок псевдо-3D броузерных игр. Известные игры: Underworld Online. Лицензия: GPL

  9. PlayN Игровой фреймворк для Java работающий на Windows, Linux, HTML5, Android и iOS. Известные игры: Angry Birds Chrome. Лицензия: Apache 2.0. github star - 97.

  10. Env3D - 3D игровой движок построенный на jMonkeyEngine 2.0. Лицензия: GPL

  11. Jake2 Java порт игрового движка Quake II. Лицензия: GPL

  12. Jogre - JOGRE (Java Online Gaming Real-time Engine) открытый, онлайн, движок реального времени с API работающим только на Java. Лицензия: GPL

  13. Elflight Engine - платный движок для веб игр. Лицензия: Proprietary

6. Полезные библиотеки

К оглавлению

Коллекции, структуры данных и методы работы с ними

  1. Google Guava Очень популярная библиотека от гугла, расширяющая возможности JDK, в том числе добавляющая новые коллекции и методы работы с ними. Работает с JDK1.6 и выше. Лицензия: Apache 2 , рейтинг github'а - 3813.
  2. Apache Commons Collections - Реализует различные дополнительные коллекции и методы работы с ними. Лицензия: Apache 2
  3. Gs collections Дополнение или замена стандартных Java коллекций и методов работающих с коллекциями. Переименована в Eclipse Collections. Лицензия: Apache 2 , рейтинг github'а - 1201.
  4. Eclipse Collections (в прошлом Gs collections). Дополнение или замена стандартных Java коллекций и методов работающих с коллекциями. Лицензия: Eclipse Public 1.0. , рейтинг github'а - 1201.
  5. javatuples - Кортежи (Tuples), Лицензия: Apache 2
  6. Immutables - Добавляет Scala-подобные классы, Лицензия: Apache 2
  7. OpenHFT Chronicle Queue Chronicle Queue работает так же как обычная Java очередь, однако каждое события сохраняется на жесткий диск. Лицензия: GNU Lesser 3.0, рейтинг github'а - 440.
  8. fastutil - Быстрые и компактные типобезопасные коллекции. Лицензия: Apache 2.
  9. HPPC - Фреймворк по работе с примитивными коллекциями. Лицензия: Apache 2.
  10. Koloboke - Фреймворк по работе с быстрыми Hash sets и hash maps. Лицензия: Apache 2.
  11. Trove - Библиотека работы с примитивными коллекциями. Лицензия: GNU Lesser 2.1.

Date and Time

  • Библиотеки для обработки даты и времени.*
  1. Almanac Converter - простые преобразования между различными календарными системами. Лицензия: Apache 2
  2. Joda-Time - Joda Time это широко распространенная замена стандартных классов date и time в Java. Де-факто стандартная библиотеки даты и времени до появления Java 8. Лицензия: Apache 2, рейтинг github'а - 1442.
  3. ThreeTenBP - Порт с JSR 310 (java.time package) от автора Joda-Time, Лицензия: BSD 3
  4. Time4J - Продвинутая библиотека работы с датой и временем. Лицензия: GNU Lesser 2.1
  5. Ocpsoft Prettytime PrettyTime это библиотека форматирования Java date в выражение на натуральном языке и в формате принятом в социальных сетях (Digg, Twitter, and Facebook) и более чем на 30 человеческих языках. Лицензия: Apache 2 , рейтинг github'а - 394.

Dependency Injection и AОП-фреймворки

Бибилиотеки и фреймворки, которые реализуют парадигму Inversion of Control.

  1. [Spring Framework](https://github.com/spring-projects/spring-framew ork) Spring — наверное, самый распространенный фреймворк Java в мире, который в том числе реализует Dependency Injection. Лицензия: Apache 2 , рейтинг github'а - 5921.
  2. Dagger и Dagger2 Быстрый и легковесный фреймворк для реализации dependency injector для Android и Java, работающий во время компиляции, а не во времени выполнения, и не использующий рефлексию. Реализует Java спецификацию JSR-330, описывающую dependency injection. Лицензия: Apache 2 , рейтинг github'а - 3607, на stackoverflow - 800 вопросов.
  3. Google Guice - Guice (произносится 'juice') это легковесный dependency injection фреймворк для Java 6 и выше, созданный Google. Легкий, но мощный фреймворк, из которого получился Dagger. Лицензия: Apache 2, рейтинг github'а - 1881.
  4. Apache DeltaSpike - фреймворк расширяющий CDI, Лицензия: Apache 2
  5. HK2 - Легкий и динамичный dependency injection фреймворк, GNU 2/ CDDL 1.0
  6. AspectJ - Аспектно-ориентированное расширение, легко встраиваемое в существующие приложения, Лицензия: Eclipse Public 1.0

Работа с консолью и командной строкой

  1. jcommander Библиотека для парсинга параметров командных строк. http://jcommander.org/ Лицензия: Apache 2 , рейтинг github'а - 445.
  2. Jline это java библиотека для работы с консолью (ввод, редактирование в emacs и vi режимах), также как библиотеки Readline и Editline, однако при этом так как Jline почти полностью написана на Java является полностью платформонезависимой. Лицензия: BSD 4, рейтинг github'а - 396.
  3. args4j - Парсер командной строки. Лицензия: MIT
  4. CRaSH - Реализует интерпретатор командной строки (CLI) для запущенных процессов. Лицензия: GNU Lesser 2.1

Функциональное программирование

  • Библиотеки, реализующие функциональное программирование.*
  1. Retrolambda Поддержка лямбда выражений из Java 8 в Java 7, 6 и 5. Лицензия: Apache 2 , рейтинг github'а - 1059.
  2. Javaslang - Библиотека для реализации функцуонального программирования которая реализаует persistent типы данных и functional control структоры, рейтинг github'а - 791. Лицензия: Apache 2.
  3. jOOλ - Расширение для Java 8, которое стремиться исправить недоработки стандартной реализации лямбда в Java 8, реализующе большое количество нереализованных возможностей функционального программирования и предоставляет богатый набор возможностей к стандартному Stream API, рейтинг github'а - 523. Лицензия: Apache 2.
  4. Functional Java - Добавление функционального программирования в Java. Реализует большое количество простых и сложных видов абстракций для composition-oriented программирования, Лицензия: BSD 3, рейтинг github'а - 478.
  5. Cyclops React - Платформа для функционального и реактивного программирования для Java 8 и выше. Добавляет монады, потоковые утилиты и такие возможности функционального программирования как: comprehensions, pattern matching, trampolines и многое другое. Рейтинг github'а - 372. Лицензия: MIT
  6. Fugue - Функциональное расширение библиотеки Guava, Лицензия: Apache 2.
  7. TotallyLazy Библиотека функционального программирования для работы с ленивыми структурами данных (например, такими как Clojure's), в частности с последовательностями (map, filter, fold/reduce...), есть Option, Either, Hamcrest matchers as predicates, ML family of function / method names (Standard ML, oCaml, F#, Scala, Haskell) и т.д. , Лицензия: Apache 2, рейтинг github'а - 76.
  8. derive4j - Процессор, работающий с Java 8 аннотациями, и фреймворк для реализации: deriving algebraic data types constructors, pattern-matching, morphisms и т.п, рейтинг github'а - 106. Лицензия: GNU 3

Реактивное программирование

Библиотеки для разработки reactive приложений.

  1. ReactiveX RxJava библиотека для реализации асинхронного и событийного программирования на основе расширения паттерна Observer для разных языков от ReactiveX. Лицензия: Apache 2 , рейтинг github'а - 6279, на stackoverflow - 1814 вопросов.
  2. Eclipse Vert.x Событийно-ориентированный полиглотный фреймворк для JVM от Eclipse, позволяет писать одновременно на JavaScript, Ruby, Groovy, Java и Python, встраивается в текущие проекты на Java, упрощает мультипоточность. содержит event bus и т.д. и т.п.  . Лицензия: Eclipse Public 1 / Apache 2 , рейтинг github'а - 3743, на stackoverflow - 728 вопросов.
  3. Reactive Streams - Реализует стандарт для асинхронной потоковой обработки без проблем с блокировками. Лицензия: Public Domain (CC0), рейтинг github'а - 769.
  4. Reactor - Библиотеки для разработки reactive fast-data приложений. Reactor это полнофункциональная библиотека для разработки быстрых data-driven приложений на JVM. Она предоставляет абстракции для Java, Groovy, Clojure и других JVM языков для создания и обработки событий (event) и простой разработки data-driven приложений. Лицензия: Apache 2.

Безопасность и авторизация

К оглавлению

  1. Scribe Java - простая OAuth библиотека для Java. Лицензия: MIT , рейтинг github'а - 2731.
  2. Spring security oauth - добавление методов авторизации OAuth1(a) и OAuth2 для Spring веб-приложений. Лицензия: Apache 2 , рейтинг github'а - 916.
  3. Jasig CAS (Central Authentication Service) - обеспечивает стандартный механизм аутентификации пользователей для веб-приложений . Лицензия: Apache 2 , рейтинг github'а - 740.
  4. Spring security — Spring фреймворк для авторизации и управления пользователями и безопасностью приложений. Лицензия: Apache 2 , рейтинг github'а - 732.
  5. Play Authenticate - аутентификацонный плагин для Play фреймворка. Лицензия: Apache 2 , рейтинг github'а - 646.
  6. Apache Shiro - Обеспечивает аутентификацию, авторизацию, шифрование и управление сеансами. Лицензия: Apache 2.
  7. Bouncy Castle - Универсальная криптографическая библиотека, содержит JCA провайдер, широкий спектр функций по работе с PGP/SMIME. Лицензия: MIT.
  8. Cryptomator - Мультиплатформенное клиент-ориентирование шифрование файлов в облаке. Лицензия: MIT.
  9. Google Keyczar - Легкий в использовании, но безопасный фреймворк шифрования с управлением версиями. Лицензия: Apache 2.
  10. Keycloak - Интеграция с SSO и IDM, как для приложений, работающих в браузере, так и для RESTful веб сервисов. Лицензия: Apache 2.
  11. PicketLink - Umbrella проект для обеспечения безопасности и индентификации пользователей, Лицензия: Apache 2.
  12. Santuario Библиотека реализующая XML Digital Signature спецификацию и XML Encryption спецификацию. Лицензия: Apache 2.
  13. Apache Oltu ( больше не поддерживается ) Реализация OAuth протокола для Java. Лицензия: Apache 2.
  14. Apache Syncope Apache Syncope это открытая система для управления цифровыми идентификторами в enterprise приложениях. Лицензия: Apache 2.

Высокая производительность

Все для высокопроизводительных решений - от коллекций до специальных библиотек.
К оглавлению

  1. Agrona - Структуры данных и функции, которые будут полезны для высоконагруженных приложений. Лицензия: Apache 2.
  2. Disruptor - библиотека обеспечивающая межпоточный обмен сообщениями. Лицензия: Apache 2.
  3. fastutil - Быстрые и компактные типобезопасные коллекции, Лицензия: Apache 2.
  4. GS Collections - Фреймворк коллекций основанный на идеях из Smalltalk, Лицензия: Apache 2.
  5. HPPC - Фреймворк по работе с примитивными коллекциями. Лицензия: Apache 2.
  6. Javolution - Библиотека для систем реального времени и встроенных систем. Лицензия: BSD 2.
  7. JCTools - Набор функций по работе с многопоточности, которые на данный момент отсутствуют в JDK. Лицензия: Apache 2.
  8. Koloboke - Фреймворк по работе с быстрыми Hash sets и hash maps. Лицензия: Apache 2.
  9. Trove - Библиотека для работы с примитивными коллекциями, Лицензия: GNU Lesser 2.1.

Сериализация (serializer) и работа с файлами (I/O)

К оглавлению

  1. Square Okio Современный I/O API для Java. Лицензия: Apache 2 , рейтинг github'а - 1243.
  2. Square type Легкий, быстрый, транзакционный, файловый FIFO для Android и Java. Лицензия: Apache 2 , рейтинг github'а - 1073.
  3. Simple Binary Encoding (SBE) это реализация кодирования и декодирования сообщений бинарного формата для систем требующих очень короткого времени ответа. Лицензия: Apache 2 , рейтинг github'а - 612.
  4. MessagePack - реализация быстрой сериализации в компактный бинарный формат для Java. Лицензия: Apache 2 , рейтинг github'а - 448.
  5. FlatBuffers - Библиотека сериализации (оптимизированая на сокращение затрат памяти), которая предоставляет доступ к сериализованным данным без разархивирования и парсинга, Лицензия: Apache 2.
  6. FST - JDK-совместимая высокопроизводительная библиотека сериализации, Лицензия: Apache 2.
  7. Kryo - Быстрый и эффекстивный фреймворк сериализации, Лицензия: BSD 3.

Логирование

К оглавлению

  1. Graylog2 server свободная и открытая система логирования. Лицензия: GNU 3, рейтинг github'а - 1308.
  2. logback надежный, универсальный, быстрый и гибкий фреймворк для логирования в Java. http://logback.qos.ch/. Лицензия: Eclipse Public 1.0/GNU Lesser 2.1, рейтинг github'а - 497.
  3. slf4j Библиотека предлагает Facade-логирование для простого переключения между разными библиотеками логирования (java.util.logging, logback, log4j и т. п.). http://www.slf4j.org/ Лицензия: MIT , рейтинг github'а - 384.
  4. Apache Log4j 2 - Полностью пересмотренная вторая версия Log4j с мощными плагинами и легко настраиваемой архитектурой, Лицензия: Apache 2.
  5. graylog - Открытый агрегатор, подходящий для сложных ролей пользователей и системы привилегий, Лицензия: GNU 3.
  6. Elastic Kibana - Анализ и визуализация логов, некоторые возможносте предоставляются только платно, Лицензия: Apache 2.
  7. Elastic Logstash - Инструменты для управления файлами логов, Лицензия: Apache 2.
  8. Metrics - Собирает метрики через JMX или HTTP и может записать их в базу, Лицензия: Apache 2.
  9. tinylog - Легкий фреймворк логирования со статическими классами логирования, Лицензия: Apache 2.

Bean Mapping and Validation

Фреймворки, упрощающие маппинг одних типов данных в другие (или bean validation).
К оглавлению

  1. Dozer - Маппер, который копирует информацию из одного объекта в другой (создавая рекурсивную копию одного объекта в другом), используя аннотации, API или XML конфигурацию, Лицензия: Apache 2, рейтинг github'а - 421.
  2. MapStruct - Код генератор, который упрощает маппинг между разными типами данных, основываясь на конфигурации маппинга. Лицензия: Apache 2.
  3. ModelMapper - ModelMapper это интеллектуальная библиотека для автоматического маппинга одних объектов на другие. Лицензия: Apache 2.
  4. Orika - Orika это Java Bean маппинг фреймворк, который рекурсивно копирует (и при необходимости изменяет) информацию из одного объекта в другой, Лицензия: Apache 2.
  5. Selma - Stupid Simple Statically Linked Mapper. Selma это маппер построенный на аннотациях классов, Лицензия: Apache 2.
  6. Apache BVal Apache BVal реализует спецификацию Java Bean Validation (JSR303). Лицензия: Apache 2.

7. Изображения и Видео

К оглавлению

  1. Facebook Rebound Это Java библиотека которая моделирует поведение физики реального мира в вашем приложении. Лицензия: BSD, рейтинг github'а - 2219.
  2. Processing Исходный код для Processing Development Environment (PDE) — программному языку для обработки видео и графики. Лицензия: GNU 2, рейтинг github'а - 1896.
  3. JavaCV JavaCV использует конвертер Java-C++ JavaCPP Presets для простого использования библиотек для работы с компьютерным зрением (OpenCV, FFmpeg, libdc1394, PGR FlyCapture, OpenKinect, videoInput, ARToolKitPlus, and flandmark) и реализует классы-утилиты для облегчения работы с этими библиотеками на платформе Java . Лицензия: Apache 2 , рейтинг github'а - 503.
  4. imgscalr Простая и эффективная библиотека Java для масштабирования изображений основанная на чистом Java 2D. Лицензия: Apache 2 , рейтинг github'а - 451.
  5. webcam-capture Данный проект позволяет получить доступ к USB вебкамере или remote IP / сетевой камере напрямую из Java кода. Лицензия: MIT , рейтинг github'а - 437.
  6. Thumbnailator - Thumbnailator это библиотека генерации высококачественных миниатюр для Java.
  7. zxing открытая разноформатная библиотека для обработки 1D/2D barcode изображений с реализацией на Java и портированием на другие языки. Лицензия: Apache 2 , рейтинг github'а - 5314.

8. Кодогенерация и изменения байт кода

Libraries to manipulate bytecode programmatically.
К оглавлению

  1. Google Auto - коллекция генераторов исходного кода в Java.. Лицензия: Apache 2 , рейтинг github'а - 1442.
  2. Square Javapoet - библиотека для генерации исходных кодов классов Java. Лицензия: Apache 2 , рейтинг github'а - 1057.
  3. Byte buddy - динамическая генерация кода в Java платформе. http://bytebuddy.net/ Лицензия: Apache 2 , рейтинг github'а - 473.
  4. ASM - Универсальная, низкоуровневая библиотека для изменения байткода и анализа, Лицензия: BSD 3, Лицензия: Apache 2.
  5. Byteman - Изменение байткода во время выполнения используя DSL правила в основном для целей тестирования и отладки, Лицензия: LGPL 2.1.
  6. Javassist - Попытка упростить редактирование байткода, , Лицензия: Apache 2 or LGPL or later 2.1 or Mozilla Public License 1.1.
  7. ADT4J - JSR-269 код генератор для algebraic data types, Лицензия: BSD 3
  8. Auto - Коллекция генераторов исходного кода, Лицензия: Apache 2
  9. JHipster - генератор кода, которые позволяет создавить приложения основанные на Spring Boot и AngularJS, Лицензия: Apache 2
  10. cglib - Библиотека генерации байткода, Лицензия: Apache 2.

9. Фреймворки для создания распределенных и отказоустойчивых приложений

Библиотеки и фреймворки для создания распределенных и отказоустойчивых приложений.
К оглавлению

  1. Akka - Набор инструментов и среда выполнения для создания многопоточных, распределенных и устойчивых к ошибкам событийно-ориентированных приложений, Лицензия: Apache 2.
  2. Apache Storm - Система вычислений в режиме реального времени, Лицензия: Apache 2.
  3. Apache ZooKeeper - Системы координации для развертывания конфигураций, синхроизации и регистрации имен для больших распределенных систем, Лицензия: Apache 2.
  4. Alibaba Dubbo Dubbo это фреймворк для разработки распределенных приложений с возможностями передачи сообщений, кластеризации, работе с событиями, подписками и т. п. с высокопроизводительным RPC. Лицензия: Apache 2 , рейтинг github'а - 1917.
  5. Netflix Curator Curator Framework это фреймворк для работы с Apache ZooKeeper сервером. Лицензия: Apache 2 , рейтинг github'а - 1158.
  6. Axon Framework - Фреймворк для создания CQRS приложений, Лицензия: Apache 2.
  7. Hazelcast - Легко расширяемый in-memory datagrid, Лицензия: Apache 2.
  8. Netflix Hystrix - Предоставляет возможность создавать системы, устойчивые к ошибкам и с минимальным откликом. Библиотека, для корректной обработки отказов сервисов, исключительных ситуаций в распределенных системах, с помощью добавления в систему изолированных точек доступа к сторонним сервисам и распределенным системам, ограничением вероятности каскадных ошибок при отказе одного из сервисов и т.д., рейтинг github'а - 3571. Лицензия: Apache 2.
  9. JGroups - Набор инструментов для надежного обмена сообщениями и создания кластеров, Лицензия: Apache 2.
  10. Orbit - Виртуальные акторы (Virtual Actors), добавления дополнительного уровня абстракции к традиционных акторам, Лицензия: BSD 3.
  11. Quasar - Легковесные потоки и акторы (actors) для JVM, Лицензия: Eclipse Public License v1.0 или LGPL 3.0.
  12. Storm contrib storm-contrib это свободный репозиторий с модулями, использующими Storm. Они включают разные spouts/bolts для интеграции с другими системами (Redis, Kafka, MongoDB, etc), и код для решений типовых задач Storm разработчиков.. Лицензия: Eclipse Public 1.0, рейтинг github'а - 504.
  13. JADE - Фреймворк и экосистема для разработки и отладки multi-agent систем, Лицензия: GNU Lesser 2.0
  14. Apache River Apache River фреймворк для разработки JINI сервисов. Лицензия: Apache 2.
  15. Apache Tuscany Apache Tuscany это фреймворк для разработки Service Component Architecture (SCA) приложений. Лицензия: Apache 2.
  16. [Lagom] - Реактивные микросервисы для JVM. https://lightbend.com/lagom , рейтинг github'а - 558. Лицензия: Apache 2.

10. Наука

Библиотеки для научных расчетов и анализа.
К оглавлению

  1. DataMelt - Среда для научных расчетов, анализа и визуализаци данных, Лицензия: GNU 3.
  2. JGraphT - Графическая библиотека, которая предоставляет объект и алгоритмы из математической теории графов, Лицензия: Eclipse Public License или LGPL 2.1
  3. JScience - Предоставляет набор классов для работы с научными измерениями и объектами, Лицензия: BSD 2.
  4. Michael Thomas Flanagan's Java Scientific Library коллекция классов и библиотек для научных целей написанных Michael Thomas Flanagan . Лицензия: только для некомерческого использования, без права распостраненния исходного кода.

11. OSGI

  1. ACE - distribution фреймворк для OSGi систем и не только. Лицензия: Apache 2.
  2. Aries данный проект состоит из набора pluggable Java компонент для OSGi модели. Лицензия: Apache 2.
  3. Felix OSGi фреймворк. Лицензия: Apache 2.
  4. Karaf OSGi фреймворк для серверных приложений. Лицензия: Apache 2.
  5. Equinox Реализация OSGI спецификации от Eclipse. License: EPL
  6. Eclipse Virgo OSGI фреймворк для приложений, которые построены на Spring. Есть поставки вместе с web серверами. License: EPL

II. Базы данных, поисковые системы, Big data и машинное обучение

1. Базы данных и хранилища

К оглавлению

  1. Thinkaurelius Titan - распределенная графовая база данных. Лицензия: Apache 2 , рейтинг github'а - 2846.
  2. Apache Cassandra - зеркало для Apache Cassandra — база данных с высокой доступностью и высокой расширямостью и отличной производительностью . Лицензия: Apache 2 , рейтинг github'а - 2155.
  3. Orientdb это первая база данных с множественной моделью и поддержкой и документного хранилища и графов. Лицензия: Apache 2/CDDL 1/Eclipse Distribution 1.0, рейтинг github'а - 1880.
  4. Neo4j — одна из самых популярных в мире графических баз данных. Лицензия: GNU 3/ GNU AGPLv3, рейтинг github'а - 1787.
  5. Mapdb содержит мультипоточные реализации Maps, Sets и Queues, которые могут сохраняться на жестком диске или в off-heap-memory. Это быстрый и простой способ создать embedded Java базу данных. http://www.mapdb.org/. Лицензия: Apache 2 , рейтинг github'а - 1484.
  6. Voldemort свободный клон Amazon's Dynamo, распределенное key-value хранилище. Лицензия: Apache 2 , рейтинг github'а - 1480.
  7. Amplab Tachyon это распределенное хранилище, ориентированное на работу с оперативной памятью и разделении данных между кластерами. Лицензия: Apache 2 , рейтинг github'а - 1459.
  8. Opentsdb это распределенная и масштабируемая база данных, работающих с временными рядами (Time Series Database TSDB) работающая поверх Hbase. Лицензия: GNU 3, рейтинг github'а - 1336.
  9. Hazelcast Hazelcast свободное In-Memory хранилище. Лицензия: Apache 2 , рейтинг github'а - 1167.
  10. Tinkerpop Blueprints Добавление Blueprint Property Graph Model Interface в различные графические базы данных. Лицензия: BSD 3, рейтинг github'а - 1083.
  11. Apache Lucene solr Зеркало Apache Lucene & Solr — тестового поискового движка. Лицензия: Apache 2 , рейтинг github'а - 1069.
  12. Java Chronicle Java Indexed Record Chronicle — библиотека, хранения данных, работы с сообщениями и событиями. . Лицензия: Apache 2 , рейтинг github'а - 970.
  13. Torodb ToroDB база данных. Лицензия: GNU AGPLv3, рейтинг github'а - 951.
  14. Crate CRATE: Your Elastic Data Store — распределенная система, создающая бэкенд (или кластер) на основе nosql баз данных и свободных компонент (Presto, Elasticsearch, Lucene, Netty), реализует синхронизацию, репликацию, маштабируемость и разделение данных (data synchronization, sharding, scaling, and replication). Также предоставляем sql подобный язык запросов для кластера. https://crate.io/ .Лицензия: Apache 2 , рейтинг github'а - 925.
  15. Linkedin Pinot Linkedin pinot - Распределенный OLAP хранилище, работающее в режиме реального времени, которое используется Linkedin для получение аналитических данных в режиме реального времени.. Лицензия: Apache 2 , рейтинг github'а - 854.
  16. Solandra Solandra - распределенный real-time поисковый движок построенный на основе Apache Solr и Apache Cassandra.. Лицензия: Apache 2 , рейтинг github'а - 808.
  17. Voltdb VoltDB это горизонтально масштабируемая in-memory SQL RDBMS база данных, разработанная для приложений которым требует особенно высокая пропускная способность базы данных на чтение и запись . Лицензия: GNU AGPLv3, рейтинг github'а - 586.
  18. Leveldb Портирование LevelDB на Java. LevelDB это быстрое key-value хранилище, разработанное Google. Лицензия: Apache 2 , рейтинг github'а - 525.
  19. Kairosdb KairosDB — быстрая распределенная расширяемая time series база данных, написанная поверх Cassandra. . Лицензия: Apache 2 , рейтинг github'а - 485.
  20. Linkedin Sensei Распределенная поисковая база данных для работы в реальном времени. Лицензия: Apache 2 , рейтинг github'а - 464.
  21. Elephantdb Распределенная база данных, специализирующая на экспорте key/value данных из Hadoop. Лицензия: BSD 3, рейтинг github'а - 464.
  22. Apache Drill Зеркало Apache Drill. Без схемовый движок обработки SQL запросов для Hadoop, NoSQL и облачных сервисов. Лицензия: Apache 2 , рейтинг github'а - 448.
  23. Tinkerpop Rexster это сервер графических баз данных, который может передать любые данные графов через REST и бинарный протокол, называемый RexPro. . Лицензия: BSD 3, рейтинг github'а - 402.
  24. Tomcat redis session manager Основанное на Redis простое хранилище сессий для Apache Tomcat. Лицензия: MIT , рейтинг github'а - 396.
  25. Embulk это открытый пакетный (bulk) загрузчик данных, который помогает трансформировать данные между разными базами данных, хранилищ, файловых форматов и облачных сервисов. Лицензия: Apache 2 , рейтинг github'а - 394.
  26. H2 - Небольшая база данных SQL отличается работой в in-memory, Лицензия: Mozilla Public License 1.1. и Eclipse Public License v1.0.
  27. Apache Derby - Apache Derby, это Apache DB подпроект, это open source реляционная база данных, реализованная полностью на . Лицензия: Apache 2.
  28. Apache Empire-db Apache Empire-db is a lightweight relational database abstraction layer and data persistence component. Лицензия: Apache 2.
  29. Apache Ignite Apache Ignite is an In-Memory Data Fabric providing in-memory data caching, partitioning, processing, and querying components. Лицензия: Apache 2.
  30. Tarantool — открытая система управления базой данных с неблокирующим сервером приложений на Lua. База данных обладает высокой скоростью работы по сравнению с традиционными СУБД, обладая теми же свойствами: персистентности, транзакционности ACID, репликации master-slave, master-master. Лицензия: BSD licenses.

Распределенные базы данных.

  1. Apache Cassandra - зеркало для Apache Cassandra — база данных с высокой доступностью и высокой расширямостью и отличной производительностью . Лицензия: Apache 2 , рейтинг github'а - 2155.
  2. Apache HBase - Hadoop хранилище для больших данных. Лицензия: Apache 2.
  3. Druid - это column-oriented хранилище и система обработки в реальном времени для обработки потоковых и пакетной информации и интегрированная с Samza, Kafka, Storm, and Hadoop. Лицензия: Apache 2, рейтинг github'а - 1846.
  4. Infinispan - Высокопроизводительное key/value хранилише, используемое для кэширования. Лицензия: Apache 2.
  5. OpenTSDB - это распределенная и масштабируемая база данных, работающих с временными рядами (Time Series Database TSDB) работающая поверх Hbase. Лицензия: GNU 3, рейтинг github'а - 1336.

2. Структуры данных

Efficient and specific data structures.

  1. Apache Avro - Формат обмена данными с такими возможностями как: динамическая типизация, отсутствия необходимости устанавливать ID вручную, untagged data, Лицензия: Apache 2.
  2. Apache Orc - Быстрый и эффективный столбчатый (сolumnar) формат хранения данных для работы в основанных на hadoop системах, Лицензия: Apache 2.
  3. Apache Parquet - столбчатый (сolumnar) формат хранения данных основанный на использовании алгоритмов из "Dremel paper" от Google, Лицензия: Apache 2.
  4. Apache Thrift - Формат обмена данными, созданный в Facebook, Лицензия: Apache 2.
  5. Persistent Collection - Persistent и неизменямый аналог Java Collections Framework, Лицензия: MIT.
  6. Protobuf - Формат обмена данными, предложенный Google, Лицензия: BSD 3.
  7. SBE - Simple Binary Encoding, один из самых быстрых форматов обмена сообщениями, Лицензия: Apache 2.
  8. Wire - Чистый, легковесный protocol buffers, Лицензия: Apache 2.

3. Поисковые системы

К оглавлению

  1. Elasticsearch - одна из самых популярных систем распределенного облачного поиска. Распределенная, mультиарендная (multitenant-capable) полнотекстовая поисковая система с RESTful веб интерфейсом, не требующая схемы данных, основанная на JSON документах. . Лицензия: Apache 2 , рейтинг github'а - 11833.
  2. Linkedin Indextank Engine Проект IndexTank это поисковый движок, поддерживающий возможности вроде переменных (boosts), категорий (facets), предложения, автокомплит и т. п.. Лицензия: Apache 2 , рейтинг github'а - 788.
  3. Apache Solr Зеркало Apache Solr. Apache Solr это поисковый сервер, основанный на Apache Lucene поисковой библиотеке, данный поисковый движок оптимизирован для высоконагруженных систем. . Лицензия: Apache 2 , рейтинг github'а - 486.
  4. Linkedin Cleo Linkedin Cleo это гибкое библиотека для создания умных подсказок поиска.. Лицензия: Apache 2 , рейтинг github'а - 478.
  5. Elasticsearch cloud aws Плагин для работы ElasticSearch с Amazon Web Service (AWS) облаками. Лицензия: Apache 2 , рейтинг github'а - 435.
  6. Elasticsearch analysis ik The IK Analysis плагин интеграции с Lucene IK анализаторов для elastic search, поддерживающий пользовательские словари. Лицензия: ?, рейтинг github'а - 395.
  7. Apache ManifoldCF - приложение для передачи данных между репозиториями и поисковыми индексами разных систем. Лицензия: Apache 2 , рейтинг github'а - 435.
  8. Lemur Project Lemur проект разрабоатывает поисковый движок, анализатор текста, плагин браузеров, включает Indri search engine и ClueWeb09 dataset. Лицензия: BSD License
  9. YaCy - Поисковая система YaCy, рейтинг github'а - 127. Лицензия: часть классов под GNU Lesser, часть под GNU

4. Клиенты и драйверы баз данных

К оглавлению

  1. Facebook Presto Библиотека для работы с распределенными SQL запросами к big data источникам (Cassandra, Hive, Kafka, MySQL, PostgreSQL и т.п.).  . Лицензия: Apache 2 , рейтинг github'а - 3603.
  2. Jedis Невероятно маленький и эффективный Redis Java клиент. Лицензия: MIT , рейтинг github'а - 2495.
  3. Tinkerpop Gremlin это язык для работы с графами и разными графическими базами данных (обхода графов, запросы к графам, манипуляции и т. п.).. Лицензия: BSD 3 , рейтинг github'а - 1370.
  4. Mongodb Java Driver Java клиент для MongoDB . Лицензия: Apache 2 / Creative Commons Attribution , рейтинг github'а - 1276.
  5. Yahoo Mysql_perf_analyzer Анализатор производительности MySQL. Лицензия: Apache 2 , рейтинг github'а - 1082.
  6. Airbnb Airpal Веб UI для PrestoDB. Лицензия: Apache 2 , рейтинг github'а - 1074.
  7. Mongodb hadoop MongoDB клиент для интеграции с Hadoop. Лицензия: ?, рейтинг github'а - 937.
  8. Elasticsearch jdbc JDBC поддержка для Elasticsearch. Лицензия: Apache 2 , рейтинг github'а - 867.
  9. Flyway — инструмент по миграции баз данных . http://flywaydb.org/ . Лицензия: Apache 2 , рейтинг github'а - 851.
  10. Elasticsearch river mongodb - MongoDB River Plugin для ElasticSearch, использует MongoDB как хранилище для ElasticSearch. Лицензия: Apache 2 , рейтинг github'а - 794.
  11. Netflix Astyanax Cassandra Java клиент. Лицензия: Apache 2 , рейтинг github'а - 735.
  12. Liquibase Liquibase — система, позволяющая проводить миграции и обновления баз данных, генерировать SQL скрипты, документацию изменений баз данных, проводить рефакторинг и т. д. http://www.liquibase.org/ . Лицензия: Apache 2 , рейтинг github'а - 734.
  13. Mongodb Morphia Библиотека для простой сериализации объектов Java в документы MongoDB . Лицензия: Apache 2 , рейтинг github'а - 725.
  14. Couchdb lucene Полнотекстовый поиск CouchDB документов, используя Lucene. Лицензия: Apache 2 , рейтинг github'а - 639.
  15. Forcedotcom Phoenix Phoenix это SQL оболочка поверх Hbase с JDBC драйвером. Phoenix обеспечивает очень быстрый отклик (в течении миллисекунд), в отличии от пакетных операций map/reduce. Лицензия: BSD 3 , рейтинг github'а - 507.
  16. Variety Анализатор схемы MongoDB. Лицензия: MIT , рейтинг github'а - 505.
  17. Redisson Redisson — добавляет Java структуры данных (Set, SortedSet, Map, ConcurrentMap, List, Queue, BlockingQueue, Deque, Lock, AtomicLong, CountDownLatch, Publish / Subscribe, HyperLogLog, Redis pipelining) в Redis сервер. И является высокопроизводительным и неблокирующим Java Redis клиентом. Лицензия: Apache 2 , рейтинг github'а - 483.
  18. Netflix Priam Co-Process это набор инструментов для работы с Cassandra (архимирование и востановление, работа с токенами и т. д.). Лицензия: Apache 2 , рейтинг github'а - 481.
  19. Datastax Java driver Java клиент для Apache Cassandra и DataStax. Лицензия: Apache 2 , рейтинг github'а - 480.
  20. Memcached Java Client java клиент для memcached. Лицензия: BSD 4, рейтинг github'а - 436.
  21. Spring data mongodb Java клиент к MongoDB для фреймворка Spring . Лицензия: Apache 2 , рейтинг github'а - 394.
  22. Apache Phoenix - Высокопроизводительный слой для реляционных баз данных поверх HBase для систем с минимальным откликом, Лицензия: Apache 2.
  23. FlexyPool - Добавляет метрики и отказоустойчивые стратегии для наиболее популярных пулов соединией с базами данных, Лицензия: Apache 2.
  24. LightAdmin - Легко настраиваемя CRUD UI библиотека для быстрой разработки приложений, Лицензия: Apache 2.
  25. Jaybird JCA/JDBC driver - JCA-JDBC драйвер для Firebird базы данных, github, github's star - 19. Лицензия: GNU Lesser 2.1,
  26. dbeaver - Инструмент для доступа к базе данных для разработчиков, SQL программистов, администраторов баз данных и аналитиков . http://dbeaver.jkiss.org. , github's star - 473. Лицензия: GNU 2.
  27. tarantool-java Коннектор для работы по бинарному протоколу с Tarantool. Лицензия: BSD licenses.

5. Маппинг объектов в базы данных (ORM и т. п.)

К оглавлению

  1. HikariCP HikariCP — быстрая, надежная и легкая библиотека для создания JDBC connection pool с минимальными накладными расходами. Лицензия: Apache 2 , рейтинг github'а - 1542.
  2. Mybatis 3 MyBatis это фреймворк маппинга Java объектов в базы данных. Соединяет Java объектами с определенными хранимыми процедурами или sql запросами. Лицензия: Apache 2 , рейтинг github'а - 1428.
  3. Hibernate orm Hibernate's ORM фреймворк, один из самых популярных в Java, надежный, проверенный и широкоиспользуемый фреймворк с большим и активным сообществом. http://hibernate.org/orm/ Лицензия: GNU Lesser 2.1, рейтинг github'а - 1275.
  4. JOOQ JOOQ — решение по простой интеграции и мапингу Java приложений с популярными базами данных, такими как Oracle, Microsoft SQL Server, IBM DB2, или SAP Sybase. http://www.jooq.org/ . Лицензия: Apache 2 , рейтинг github'а - 830.
  5. Querydsl Querydsl это Java фреймворк позволяющий конструировать типобезопасные SQL-подобные запросы для множества backends включая JPA, MongoDB и SQL. http://www.querydsl.com/ . Лицензия: Apache 2 , рейтинг github'а - 570.
  6. Kundera ORM поддерживающий спецификации JPA 2.1 для полиглот маппинга в различные NoSQL хранилища. Лицензия: Apache 2 , рейтинг github'а - 490.
  7. Spring data jpa Spring Data Jpa - обертка Spring фреймворка над JPa провайдерами . Лицензия: Apache 2 , рейтинг github'а - 459.
  8. Jdbi jDBI предлагает удобный интерфейс над SQL операциями в Java. http://jdbi.org/ .Лицензия: Apache 2 , рейтинг github'а - 458.
  9. ActiveJDBCActiveJDBC это Java реализация Active Record шаблона проектирования. Вдохновлен ActiveRecord ORM в Ruby on Rails.. Лицензия: Apache 2 , рейтинг github'а - 230.
  10. Vibur DBCP - Библиотека реализующая JDBC пул соединений с дополнительными средствами мониторинга производительности, Лицензия: Apache 2.
  11. Ebean - Предоставляет простой и быстрой доступ к данным, Лицензия: Apache 2.
  12. EclipseLink - Поддерживает большое количество стандартов ORM: JPA, JAXB, JCA и SDO, Лицензия: Eclipse Public License v1.0 и BSD 3.
  13. OrmLite - Легковесный пакет избегающий усложнений и перерасхода ресурсов других ORM решений,
    , Лицензия: ISC.
  14. Apache Cayenne Простая в использовании Java ORM. Лицензия: Apache 2.
  15. Apache OpenJPA Реализация Java Persistence API спецификации. Лицензия: Apache 2.
  16. Apache MetaModel Apache MetaModel это универсальный способ делать запросы и получать данные из различных источнико включая: 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 и даже коллекции из обычных Java объектов (POJOs). Лицензия: Apache 2.

6. Системы, для обработки данных (работа с грязными данными, анализ и т.п.)

К оглавлению

  1. Storm - распределенная и устойчивая к ошибкам обработка данных в реальном времени: потоковая обработка, непрерывные вычисления, распределенный RPC и другое. Лицензия: Apache 2 , рейтинг github'а - 8636.
  2. OpenRefine — инструменты для обработки «грязных» плохо структурированных данных и улучшения их. Выполняет очистку данных, преобразование, связывает с базой данных и позволяет обращаться к данным с помощью web сервисов. Лицензия: BSD , рейтинг github'а - 2939.
  3. Addthis Stream lib - библиотека Java для групповых операций на потоковыми данными, таких как оценка мощности (подсчет количества элементов), определение членов множества, оценка частоты, получения первых N элементов и т.п.. Лицензия: Apache 2 , рейтинг github'а - 1145.
  4. HdrHistogram (A High Dynamic Range (HDR) Histogram ) — выполняет запись данных, их анализ и построение сложных графиков (Histogram) . Лицензия: BSD 2 , рейтинг github'а - 672.
  5. HazyResearch DeepDive это система выделения значений из темных данных. Темные данные, как темная материя, имеют большой вес из текста, таблиц, графиков и изображений и не имеют четкой структуры, что делает их почти не обрабатываемыми обычными способами . Лицензия: Apache 2 , рейтинг github'а - 531.
  6. Apache Incubator Zeppelin это расположенный в веб notebook (записная книжка?), который позволяет проводить анализ данных, их визуализацию и создавать документы, содержащие SQL, Scala и т.п. . Лицензия: Apache 2 , рейтинг github'а - 463.
  7. Seldon Server предоставляет реализацию REST API интерфейса для выдачи рекомендаций по контенту и аналитических предсказаний. Лицензия: Apache 2 , рейтинг github'а - 453.
  8. Pulsar - открытая аналитическая платформа, работающая в реальном времени. Лицензия: GNU 2.0, рейтинг github'а - 435.
  9. Suro: Netflix's Data Pipeline — это сервис для сбора, агрегации и управления большим количеством разнообразных событий, включая данные логов. . Лицензия: Apache 2 , рейтинг github'а - 405.
  10. Apache UIMA Annotator components and a scalable integration and deployment framework for Unstructured Information analysis. Лицензия: Apache 2.

7. Большие данные (big data)

К оглавлению

Фреймворки и библиотеки

  1. Apache Storm - зеркало для Apache Storm — свободную и распределенную систему обработки данных в реальном времени, аналог Hadoop, но для быстрой потоковой обработки данных, может использоваться с любым языком программирования.. Лицензия: Apache 2 , рейтинг github'а - 2098.
  2. H2o = добавляет математические операции в Hadoop, h2o позволяет быстро вычислять статистику, машинное обучение и математические операции для bigdata . Лицензия: Apache 2 , рейтинг github'а - 1725.
  3. Cloudera Oryx это простая инфраструктура, обеспечивающая высоко нагруженную систему машинного обучения, анализа и выдачи прогнозов в режиме реального времени, работающая с Apache Hadoop, HTTP REST API и реализующая lambda architecture. . Лицензия: Apache 2 , рейтинг github'а - 1142.
  4. Twitter Elephant bird - набор коллекций и алгоритмов от Twitter'а, для работы с Hadoop lzo, Apache Thrift, Hadoop, Pig, Hive, и HBase.. Лицензия: Apache 2 , рейтинг github'а - 861.
  5. Apache Hadoop - зеркало Apache Hadoop. Систему для обработки Bigdata. Лицензия: Apache 2 , рейтинг github'а - 803.
  6. Google Mr4c это фрейворк, который позволяет запускать нативный код в Hadoop. Лицензия: GNU Lesser 3, рейтинг github'а - 702.
  7. Alibaba Jstorm — распределенная и устойчивая к ошибкам система вычисления результатов в реальном времени, вдохновленная Apache Storm,.. Лицензия: Apache 2 , рейтинг github'а - 654.
  8. Etsy Oculus находит аномальную корреляцию компонент системы Kale system. После того, как вы ввыбрали интересную или аномальную метрику, Oculus найдете все другие метрики в вашей системе, которые выглядят похоже.. Лицензия: MIT , рейтинг github'а - 618.
  9. Linkedin Datafu это Hadoop библиотека для крупномасштабных систем обработки данных, на данный момент это проект в Apache Incubator . Лицензия: Apache 2 , рейтинг github'а - 570.
  10. Linkedin Gobblin это универсальный интеграционный фреймворк работающий на Hadoop для получения, трансформации и загрузки большого количества данных в различные источники данных, такие как базы данных, rest APIs, FTP/SFTP сервера и т.д. . Лицензия: Apache 2 , рейтинг github'а - 547.
  11. Apache Flink - зеркало Apache Flink. Apache Flink это открытая платформа для обработки потоковых и пакетных данных. Лицензия: Apache 2 , рейтинг github'а - 475.
  12. Oryx 2 - реализация лямбда архитектуры для Apache Spark и Apache Kafka, но со специализацией на машинном обучении в реальном времени. Лицензия: Apache 2 , рейтинг github'а - 456.
  13. Yahoo SAMOA (Scalable Advanced Massive Online Analysis) — открытая платформа для потоковой обработки больших данных (mining big data). Лицензия: Apache 2 , рейтинг github'а - 394.
  14. Apache Curator Набор Java библиотека, которые облегчают использование Apache ZooKeeper.Лицензия: Apache 2.
  15. Apache Hama Hama это эффективный и легко расширяемый универсальный BSP computing движок.Лицензия: Apache 2.
  16. Apache Falcon Платформа управления данными и вычислениями для Hadoop.Лицензия: Apache 2.
  17. Apache Knox A REST API Gateway for Hadoop Services. Лицензия: Apache 2.
  18. Apache Flume Apache Flume это распределенная, надежная и доступная система для эффективного сбора, агрегации и сохранения больших объемов логов из множества различных источников в централизованное хранилище данных. Лицензия: Apache 2.
  19. Apache Tajo Tajo это система обработки больших данных в Hadoop для обработки web-scale набора данных. Лицензия: Apache 2.
  20. Apache Tez Фреймвор для обработки сколь угодно сложных направленных ациклических графов (DAGs) в задачах обработки данных. Лицензия: Apache 2.
  21. Apache REEF Apache REEF (Retainable Evaluator Execution Framework) это маштабируемый фреймворк, который облегчает разработку Big Data приложений на основе менеджеров ресурсов таких как Apache YARN или Mesos. Лицензия: Apache 2.
  22. Apache Pig Apache Pig это платформа для анализа больших наборов данных в Hadoop. Лицензия: Apache 2.

Хранилища, базы данных, Sql-подобные движки, поисковые система для big data

  1. Druid это column-oriented хранилище и система обработки в реальном времени для обработки потоковых и пакетной информации и интегрированная с Samza, Kafka, Storm, and Hadoop. Лицензия: Apache 2 , рейтинг github'а - 1846.
  2. Apache Hive - зеркало Apache Hive. Фреймворк для созданий SQL подобного языка запросов для Hadoop. https://hive.apache.org/ .Лицензия: Apache 2 , рейтинг github'а - 619.
  3. Apache Kylin это открытая распределенная аналитическая система, которая обеспечивает SQL интерфейс и OLAP отчеты для Hadoop.. Лицензия: Apache 2 , рейтинг github'а - 504.
  4. Elasticsearch hadoop - интеграция поиска и анализ ElasticSearch в Hadoop. Лицензия: Apache 2 , рейтинг github'а - 457.
  5. Facebook Presto Библиотека для работы с распределенными SQL запросами к big data источникам (Cassandra, Hive, Kafka, MySQL, PostgreSQL и т.п.). Лицензия: Apache 2 , рейтинг github'а - 3603.
  6. Apache MetaModel Apache MetaModel это универсальный способ делать запросы и получать данные из различных источнико включая: 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 и даже коллекции из обычных Java объектов (POJOs). Лицензия: Apache 2.
  7. Apache Accumulo Apache Accumulo основана на идее BigTable, предложенной Google, и работает на Apache Hadoop, Zookeeper и Thrift. Лицензия: Apache 2.
  8. Apache Gora предлагает in-memory модель данных с маппингов в big data. Gora подерживает маппинг в column stores, key value stores, document stores и RDBMSs. Лицензия: Apache 2.
  9. [Apache Sqoop] Apache Sqoop(TM) инструмент для переноса данных между Apache Hadoop и хранилищами данных, таких как реляционный базы данных.(http://sqoop.apache.org) Лицензия: Apache 2.
  10. Giraph Apache Giraph это система обработи графов, построенная над Hadoop. Лицензия: Apache 2.
  11. Impala - Запросы в реальном времени к Hadoop. рейтинг github'а: 1550 Лицензия: Apache 2.

Мониторинг, тестирование и управления кластерами big data серверов

  1. Twitter Ambrose это платформа для визуализации и мониторинга в реальном времени MapReduce data workflows. . Лицензия: Apache 2 , рейтинг github'а - 1024.
  2. Umongo - десктопное приложение для просмотра и управления вашим MongoDB кластером. Лицензия: Apache 2 , рейтинг github'а - 495.
  3. Apache Ambari Упрощает управление и мониторинг Apache Hadoop clusters. Предоставляет веб UI интерфейс и RESTful APIs. Лицензия: Apache 2.
  4. Apache Chukwa Chukwa это открытая систнам для мониторига больших распределенных систем. Лицензия: Apache 2.
  5. Apache Bigtop Bigtop это проект для Infrastructure Engineers и Data Scientists котокрые ищут инструменты для тестирования, конфигурирования и управления big date компонентами. Лицензия: Apache 2.
  6. Apache BookKeeper BookKeeper это replicated система логирования для big datar. Лицензия: Apache 2.
  7. Apache Crunch Предоставляет фреймворк для написания, тестирования и запуска MapReduce pipelines. Лицензия: Apache 2.
  8. Apache MRUnit Apache MRUnit это Java библиотека для создания unit тестов, для тестирования Apache Hadoop map reduce jobs. Лицензия: Apache 2.
  9. Apache Oozie Oozie это workflow система расписания для управления Apache Hadoop jobs. Лицензия: Apache 2.

8. Машинное обучение и нейроные сети (Machine Learning)

К оглавлению

  1. Airbnb Aerosolve Библиотека для машинного обучения, дружелюбная к пользователям (простая в настройке и т. п.). Лицензия: Apache 2 , рейтинг github'а - 1672.
  2. Smile SmileMiner (Statistical Machine Intelligence and Learning Engine) - набор Java библиотек различных алгоритмов машинного обучения. Hello World examples. Лицензия: Apache 2 , рейтинг github'а - 1519.
  3. Deeplearning4j Deep Learning нейронная сеть, написанная на Java и Scala, с интеграцией с Hadoop, Spark и другими backends, которые могут работать как с центральным, так и с графическим процессором. http://deeplearning4j.org/ .Лицензия: Apache 2 , рейтинг github'а - 1172.
  4. Libsvm "Libsvm это библиотека для мамашиного обучения на основе support vector machines (support vector networks), поддерживает SVM classification and regression, C-SVM classification, nu-SVM classification, one-class-SVM, epsilon-SVM regression, and nu-SVM Regression. Лицензия: BSD 3, рейтинг github'а - 812.
  5. Neuralnetworks Алгоритмы машинного обучения и нейронных сетей с использованием GPU процессора. Лицензия: MIT , рейтинг github'а - 583.
  6. Datumbox framework Datumbox это фреймворк для быстрой разработки систем машинного обучения и анализа статистики. Лицензия: Apache 2 , рейтинг github'а - 525.
  7. Apache Mahout Зеркало Apache Mahout. Задачей проекта Apache Mahout™ является создание окружения для быстрой разработки масштабируемых и производительных систем машинного обучения. Реализует хорошо расширяемые алгоритмы машинного обучения специализированные на применении фильтрации, кластеризации и классификации. https://mahout.apache.org/ .Лицензия: Apache 2 , рейтинг github'а - 492.
  8. Encog java core Encog это фреймворк для машинного обучения предоставляющий большое число алгоритмов и технологий машинного обучения (нейронные сети, генетические алгоритмы и т. д.). Лицензия: Apache 2 , рейтинг github'а - 394.
  9. Apache Flink - зеркало Apache Flink. Apache Flink это открытая платформа для обработки потоковых и пакетных данных. https://flink.apache.org/ Лицензия: Apache 2 , рейтинг github'а - 475.
  10. Apache Hadoop - зеркало Apache Hadoop. Систему для обработки Bigdata (больших данных с помощью кластеров на простом железе). http://hadoop.apache.org/ Лицензия: Apache 2 , рейтинг github'а - 803.
  11. Apache Spark - Фреймворк для анализа данных, используя класстер для вычислений, Подпроект: MLlib - библиотека машинного обучения для Spark.Лицензия: Apache 2.
  12. DeepDive - Создает структурированную информацию из неструктурированных данных и интегрирует её с существующими базами данных, Лицензия: Creative Commons Attribution 4.0.
  13. H2o = добавляет математические операции в Hadoop, h2o позволяет быстро вычислять статистику, машинное обучение и математические операции для bigdata.http://h2o.ai/ Лицензия: Apache 2 , рейтинг github'а - 1725.
  14. JSAT - Алгоритмы для пре-процессинга, классификация, регрессия, и кластеризация поддерживающие многопоточное выыполнение, Лицензия: GNU 3.
  15. Weka - Коллекция алгоритмов для data mining задач от пре-процессинга до визуализации, Лицензия: GNU.
  16. Protégé - Реализует редактов онтология и фреймворк для экспертных систем, Лицензия: BSD 2
  17. EvA2 - Фреймворк для использования эволюционных алгоритмов- ранее известный как JavaEvA/EvA. Лицензия: GNU Lesser 3.
  18. htm.java - Hierarchical Temporal Memory implementation in Java - это официальный сделанный сообществом порт Numenta Platform for Intelligent Computing (NuPIC). Лицензия: AGPL 3 или платная лицензия для комерческого использования.
  19. JAVA-ML - Java Machine Learning Library (Java-ML). Лицензия: GNU 2
  20. JSAT - Набор алгоритмов машинного обучения для классификации, регрессионного анализа и кластеризации. Лицензия: GNU 3
  21. Meka - Открытая реализация методов multi-label классификации и оценки (расширение для Weka). Лицензия: GNU
  22. Neuroph - Neuroph это легковесный фреймворк по создания нейронной сети на Java. Лицензия: Apache 2.
  23. rapaio - Набор инструментов для статистического анализа, data mining и машинного обучения на Java. Лицензия: Apache 2.
  24. Apache SystemML - Гибкий, маштабируемый язык машииного обучения. (incubator project). Лицензия: Apache 2.
  25. wAlnut - Объектно ориентированная модель для частичного моделирования человеческого мыщления. Лицензия: GNU 3

Semantic Web и Linked Data

Semantic Web (он же Web of Data, Linked Data, Linking Open Data) — это направление развития Всемирной паутины, позволяющее машинам не только отображать информацию в интернете, но и понимать ее смысл.

  1. Apache Marmotta Открытая платформа для работы с Linked Data. Лицензия: Apache 2.
  2. Apache Jena Фреймворк для разработки Semantic Web и Linked Data приложений на Java. Лицензия: Apache 2.

Constraint Satisfaction Problem Solver

Библиотеки, которые помогают в такой задачи искусственного интеллекта (ИИ) как удовлетворения ограничений (УО) (constraint satisfaction problem).

  1. Choco - Полностью готовая "с полки" система по решению задачи удовлетворения ограничений (УО) (constraint satisfaction problem), используя constraint programming технологии, Лицензия: BSD.
  2. JaCoP - Включает в себя интерфейс для языка FlatZinc, что позволяет ему выполнять модели MiniZinc, Лицензия: неизвестна
  3. OptaPlanner - Решает задачи бизнес планирования и оптимизации ресурсов, Лицензия: Apache 2.
  4. Sat4J - Наиболее продвинутый SAT решатель для логических (? boolean) и оптимизационых проблем, Лицензия: GNU Lesser 3 и Eclipse Public 1.0.

Работа с естественными языками (NLP) и распознавание речи

К оглавлению

  1. Stanfordnlp CoreNLP Stanford CoreNLP: Java библиотека для работы с Stanford NLP (инструментами для анализа и работы с текстом на естественных языках, например английским). Hello World examples. Лицензия: GNU 2, рейтинг github'а - 871.
  2. Apache OpenNLP - Набор инструментов для типовых задач таких как tokenization. Hello World examples. Лицензия: Apache 2.
  3. LingPipe - Набор инструментов для различных видов задач от POS tagging до анализа предложений, Лицензия: AGPL и платная лицензия, проприетарная. ИЛИ
  4. Mallet - Статистическая обработка естественных языков, классификация документов, кластеризация, topic modeling и многое другое, Лицензия: Eclipse Public License v1.0.
  5. Twitter Text Libraries - Коллекция библиотек и тестов для парсинга текста твитов(tweet). Лицензия: Apache 2.
  6. NLP4J NLP4J проект (старое название ClearNLP) предоставляет набор NLP инструментов для JVM языков. Этот проект разрабатывается в NLP Research Group из Emory University. Лицензия: Apache 2.
  7. Joshua Joshua - система машинного перевода, написанная на Java. Разработана Human Language Technology Center of Excellence at Johns Hopkins University. Лицензия: BSD 2.
  8. Z-MERT Z-MERT - система машинного перевода. Лицензия: GNU Lesser General Public License (LGPL).
  9. ClearTK - ClearTK - фреймворк для разработки систем machine learning и natural language processing которые реализаует Apache Unstructured Information Management Architecture, github star: 34. Лицензия: Apache 2.
  10. Apache cTAKES - Apache cTAKES™ это NLP система для получения данных из медицинской документации. Лицензия: Apache 2.
  11. The Stanford Natural Language Processing Group - Набор различных NLP инструментов, написанных на Java. Подпроекты: Stanford Parser - A statistical parser, Stanford POS Tagger, Stanford Named Entity Recognizer, RegexNER,
    Word Segmenter,Classifier,EnglishTokenizer,TokensRegex,Temporal Tagger,Pattern-based Information Extraction and Diagnostics,Stanford Relation Extractor. Лицензия: GNU 2/3.
  12. Apache Tika The Apache Tika это набор инструмнтов для получение метаданных и структурированого теста из различных видом документов, используя разные парсеры (Apache cTAKES,OpenNLP и т.п.). Лицензия: Apache 2.
  13. CMU Sphinx - Библиотека для распознавания речи. Лицензия: BSD 3.

III. Работа с сетью и интеграция

1. Веб сервера и сервера приложений (web server & application server)

К оглавлению

  1. Wildfly - сервер приложений (Application Server), ранее известный как JBOSS, разработанный Red Hat с расширенной поддержки Java EE. Лицензия: GNU Lesser 2.1, рейтинг github'а - 1386.
  2. Undertow io Undertow - высокопроизводительный неблокирующий вебсервер. Лицензия: Apache 2 , рейтинг github'а - 721.
  3. Apache Tomcat - зеркало Apache Tomcat — открытый web сервер с поддержкой сервлетов, jsp и некоторых аспектов J2EE. Проверенный и всесторонний сервер для сервлет и jsp. Лицензия: Apache 2 , рейтинг github'а - 531.
  4. Nginx clojure - Nginx модуль с использованием Clojure или Java или Groovy программ. Лицензия: BSD 3 , рейтинг github'а - 514.
  5. Eclipse Jetty.project - Http сервер и контейнер сервлетов. Легкий, маленький сервер, часто встраиваемый (embedded) в приложения. Лицензия: Eclipse Public 1.0 / Apache 2.0, рейтинг github'а - 512.
  6. Apache TomEE - Apache Tomcat сервер к которому добавили поддержку Java EE, Лицензия: Apache 2.
  7. WebSphere Liberty - Легковесный, модульный сервер, разработанный IBM, Лицензия: платная, проприетарная
  8. GlassFish - Сервер приложений и образцовая реализация Java EE от Oracle, Лицензия: GNU 2 или CDDL 1.0
  9. Apache Geronimo Java EE Application Server. Лицензия: Apache 2.
  10. Apache James Apache Java Enterprise Mail Server (или Apache James) это 100% чистый Java SMTP и POP3 постовый сервер и NNTP News сервер. Лицензия: Apache 2.

2. Сеть и сокеты

К оглавлению

  1. Netty низкоуровневый асинхроно-событийный фреймворк для быстрого создания высокопроизводительных клиент-серверных соединений. Более удобный аналог ассинхронным сокетам из модуля java.nio из JDK.  . Лицензия: Apache 2 , рейтинг github'а - 4847.
  2. Netty socketio Реализация Socket.IO сервера на Java. Основан на Netty фреймворке, служит для обеспечение работы с сетевыми соединениями и сокетами. Лицензия: Apache 2 , рейтинг github'а - 754.
  3. Grpc java gRPC-Java это реализация RPC библиотеки и фреймворка на Java. Лицензия: BSD 3, рейтинг github'а - 753.
  4. Socket.io java client Реализация Socket.IO клиента на Java. Лицензия: MIT , рейтинг github'а - 688.
  5. Socket.io client.java Полнофункциональная Socket.IO клиентская библиотека для Java, совместимая с Socket.IO v1.0 и выше.. Лицензия: MIT , рейтинг github'а - 603.
  6. EsotericSoftware Kryonet TCP/UDP клиентская и серверная библиотека для Java, основанная на Kryo. Лицензия: BSD 3, рейтинг github'а - 539.
  7. Async Http Client - Ассинхронная HTTP и вебсокет клиентская библиотека, Лицензия: Apache 2.
  8. Comsat - Интегрирует стандартный Java веб API c Quasar fibers и actors, Лицензия: Eclipse Public 1.0.
  9. Grizzly - NIO фреймворк. Использует как сетевой слой в Glassfish, Лицензия: GNU 2 и CDDL 1.1.
  10. OkHttp - HTTP+SPDY клиент, Лицензия: Apache 2.
  11. Undertow - Вебсервер, предоставляющий блокирующий и неблокирующий API, основанный на NIO. Используется как сетевой слой в WildFly, Лицензия: Apache 2.
  12. Apache MINA Apache MINA это фреймворк для создания быстрых сетевых приложений используя Java NIO. Лицензия: Apache 2.
  13. Apache HttpComponents проект для создания и поддержки низкоуровневых Java компонент работающих на HTTP, Java NIO и т.п. Лицензия: Apache 2.

3. Работа с сообщениями (message), очереди сообщений и прием и отправка сообщений

К оглавлению

  1. LMAX Exchange Disruptor Высокопроизводительная библиотека для поддержки межпоточных сообщений. Лицензия: Apache 2 , рейтинг github'а - 3137.
  2. Gifsockets Коммуникационная библиотека, работающая в режиме реального времени и использующая Animated Gifs как транспорт. Лицензия: Eclipse Public 1.0, рейтинг github'а - 1414.
  3. Real logic Aeron Эффективная и надежная система отправки и получения одноадресных и многоадресных сообщения по сети (Publisher, Subscriber, Event, Monitoring и т.п.).. Лицензия: Apache 2 , рейтинг github'а - 1103.
  4. JeroMQ ZeroMQ — система для работы с распределенными сообщениями, очередями, подписками и т.д.. Лицензия: GNU 3, рейтинг github'а - 834.
  5. Metamorphosis Высокопроизводительная распределенная система обмена сообщениями . Лицензия: Apache 2 , рейтинг github'а - 580.
  6. Igniterealtime Openfire Openfire это RTC (real time collaboration) сервер использующий широко распространенные протоколы обмена сообщениями, такие как XMPP (так же называемый Jabber). Лицензия: Apache 2 , рейтинг github'а - 470.
  7. Zeromq Jzmq JZMQ это клиент для интеграции Java приложения с libzmq (например ZeroMQ, 0MQ). Лицензия: GNU 3, рейтинг github'а - 415.
  8. Aeron - Эффективный и надежный unicast и multicast транспорт сообщений, Лицензия: Apache 2.
  9. Apache ActiveMQ - Message broker that implements JMS and converts synchronous to asynchronous communication, Лицензия: Apache 2.
  10. Apache Camel - Glues together different transport APIs via Enterprise Integration Patterns, Лицензия: Apache 2.
  11. Apache Kafka - High-throughput distributed messaging system, Лицензия: Apache 2.
  12. Hermes - Fast and reliable message broker built on top of Kafka, Лицензия: Apache 2.
  13. JBoss HornetQ - Clear, concise, modular and made to be embedded, Лицензия: Apache 2.
  14. Smack Библиотека для создания XMPP клиента для JVMs и Android. Лицензия: Apache 2 , рейтинг github'а - 426.
  15. Apache Qpid Реализиция AMQP спецификации. Лицензия: Apache 2.
  16. Apache Synapse Apache Synapse это легковестных ESB движок (сервисной шина предприятия) и XML router. Лицензия: Apache 2.
  17. Apache ServiceMix Apache ServiceMix это гибкий, открытый интеграционный контейнер для общего интерфейса к возможностям и функциональности Apache ActiveMQ, Camel, CXF и Karaf для создания полнофункционального ESB решения основнанного на OSGi. Лицензия: Apache 2.

4. Работа с http и ssh

К оглавлению

  1. Square Okhttp HTTP & SPDY (новый формат HTTP от гугла) клиент для Android и Java.  . Лицензия: Apache 2 , рейтинг github'а - 5022.
  2. AsyncHttpClient Асинхронная Http и WebSocket клиентская библиотека для Java . Лицензия: Apache 2 , рейтинг github'а - 2149.
  3. Http request Java библиотека для отправки различных HTTP Request и получения response. Лицензия:  MIT . , рейтинг github'а - 1477.
  4. Nanohttpd Крошечный и простой embeddable HTTP сервер для Java.. Лицензия: BSD 3, рейтинг github'а - 1184.
  5. Http kit Http-kit это минималистский, событийный, высокопроизводительный Clojure HTTP сервер и клиентская библиотека с WebSocket и поддержкой асинхронности. Лицензия: Apache 2 , рейтинг github'а - 1172.
  6. Apache Zookeeper Зеркало Apache Hadoop ZooKeeper — позволяет разрабатывать и поддерживать сервер, который позволяет очень надежную распределенную координации. . Лицензия: Apache 2 , рейтинг github'а - 987.
  7. Moco Простой HTTP Stub сервер, для простого тестирования интеграции. Лицензия: MIT , рейтинг github'а - 857.
  8. Webbit Webbit — событийно-ориентированный вебсокет и HTTP сервер. Лицензия: BSD 3, рейтинг github'а - 648.
  9. Mashape Unirest java Unirest in Java: Упрощенная и легковесная HTTP клиент библиотека.. Лицензия: MIT , рейтинг github'а - 537.
  10. Sshj Поддержка ssh, scp и sftp для java. Лицензия: Apache 2 , рейтинг github'а - 500.
  11. Netflix Feign Feign позволяет создавать Java Http клиента проще и быстрее. Feign основан на Retrofit, JAXRS-2.0 и WebSocket. Лицензия: Apache 2 , рейтинг github'а - 485.

5. Работа с rest

К оглавлению

  1. Square Retrofit Типобезопасная библиотека для создания REST клиента для Android и Java.  . Лицензия: Apache 2 , рейтинг github'а - 5945.
  2. Dropwizard фреймворк для создания RESTful сервисов c использованием Jetty, Jackson, Jersey и Metrics. Лицензия: Apache 2 , рейтинг github'а - 3427.
  3. Swagger Примеры и сервер интеграция для генерации Swagger API спецификаий, которые позволяют создать легкий доступ к вашему REST API. http://swagger.io/ Лицензия: Apache 2 , рейтинг github'а - 2657.
  4. Generator jhipster Хипстер стек для Java разработчиков: Yeoman + Maven + Spring + AngularJS в одном генераторе. Лицензия: Apache 2 , рейтинг github'а - 2352.
  5. Jersey Зеркало Jersey 2.x. Jersey это REST фреймворк реализующий JAX-RS спецификацию. Лицензия: CDDL 1.0, рейтинг github'а - 864.
  6. Linkedin Rest.li Rest.li это REST+JSON фреймворк для создания надежных, маштабируемых сервисов с использованием простого асинхронного API и dynamic discovery спецификацию.. Лицензия: Apache 2 , рейтинг github'а - 825.
  7. Spring hateoas Spring HATEOAS — этот проект поддерживает APIs для легкого создания REST сервисов поддерживающих HATEOAS принципы для Spring и особенно Spring MVC.. Лицензия: Apache 2 , рейтинг github'а - 456.
  8. Feign - HTTP клиент основанный на Retrofit, JAXRS-2.0 и WebSocket, Лицензия: Apache 2.
  9. RESTEasy - Полностью сертифицированая и переносимая реализация JAX-RS спецификации, Лицензия: Apache 2.
  10. RestExpress - Тонкий wrapper для JBOSS Netty HTTP stack для обеспечения маштабируемости и производительности, Лицензия: Apache 2.
  11. RestX - Фреймворк, основанный на аннотациях и генерации кода во время компиляции, Лицензия: Apache 2.
  12. Spark - фреймворк, вдохновленный Sinatra фреймворком, Лицензия: Apache 2.
  13. Apache Wink RESTFul веб сервис, основанный на JAX-RS спецификации. Лицензия: Apache 2.
  14. Apache Olingo Apache Olingo это Java и JavaScript библиотека реализующая Open Data Protocol (OData). Open Data Protocol (OData) это открытый протокол создания RESTful APIs сервисов. Лицензия: Apache 2.
  15. Rapidoid - Простой, безопасный и очень быстрый фреймвок с embedded HTTP сервером, GUI компонентами и dependency injection, github's star - 566. Лицензия: Apache 2.

6. Интеграционные фреймворки

К оглавлению

  1. Jmxtrans Интеграция JVM с "внешним мира" (программами логирования, мониторинга, графики и т. п.). Лицензия: ?, рейтинг github'а - 708.
  2. Apache Camel Зеркало Apache Camel. Apache Camel - мощный свободный интеграционных фреймворк, основанный на Enterprise Integration Patterns.. Лицензия: Apache 2 , рейтинг github'а - 490.
  3. Apache CXF Apache CXF это открытый фреймворк, помогающий в разработке APIs, такого как JAX-WS или JAX-RS. Этот сервис позволяет использовать большое количество протоколов таких как SOAP, XML/HTTP, RESTful HTTP или CORBA и работать с большим количеством транспортов таких как HTTP, JMS или JBI. Лицензия: Apache 2.
  4. Spring Integration - Интеграционный фреймворк от проекта Spring. Лицензия: Apache 2 , рейтинг github'а - 435.

7. Парсеры (Parser) и «веб-пауки»/краулеры (web-crawling)

К оглавлению

  1. Sparklemotion Nokogiri Nokogiri это HTML, XML, SAX, и Reader парсер с подержкой XPath и CSS selector. Лицензия: Apache 2 , рейтинг github'а - 3323.
  2. Jsoup jsoup это Java HTML парсер с использованием DOM, CSS, и jquery. http://jsoup.org/ .Hello World examples. Лицензия: MIT , рейтинг github'а - 2006.
  3. Webmagic Фреймворк для создания интернет ботов для индексирования (crawler), которые реализует все этапы жизненного цикла crawler: скачивание, управление url, выделение контент и сохранение.. Лицензия: Apache 2 , рейтинг github'а - 1089.
  4. Antlr4 ANTLR (ANother Tool для Language Recognition мощный генератор парсеров для чтения, обработки, использование или конвертирования структурированного текста или бинарных файлов. Лицензия: BSD 3, рейтинг github'а - 836.
  5. Parboiled Элегантный, легкий, простой в использовании и мощный парсер, написанный на Java и Scala. Лицензия: Apache 2 , рейтинг github'а - 775.
  6. Pegdown Обработчик языка разметки Markdown, основанный на PEG парсере, поддерживающим большое количество расширений. Лицензия: Apache 2 , рейтинг github'а - 692.
  7. Apache Nutch - Хорошо расширяемый, хорошо маштабированный вебпаук с рабочей экосистемой, Лицензия: Apache 2.
  8. Crawler4j - Простой и легковесный вебпаук, Лицензия: Apache 2.

8. Работа с Json

К оглавлению

JSON парсеры

  1. Alibaba Fastjson Быстрый JSON обработчик, рейтинг github'а - 4851. User guide и Hello World examples. Лицензия: Apache 2.
  2. Gson - Простая сериализации объектов в JSON и обратно. Хорошая производительность и легкость в использовании, рейтинг github'а - 4120. User guide и Hello World examples
    . Лицензия: Apache 2.
  3. LoganSquare -Библиотека парсинга и сериализации JSON, основанная на Jackson's streaming API. По словам разработчиков, превосходит по производительности GSON и Jackson библиотеки, рейтинг github'а - 2188. User guide и Hello World examples. Лицензия: Apache 2.
  4. JSON java Реализация работы с JSON в Java от разработчиков JSON стандарта, рейтинг github'а - 1937. User guide и Hello World examples. Лицензия: Crockford's license (MIT License + "Good, not Evil").
  5. Square Moshi JSON библиотека для Android и Java, служит для упрощения парсинга Json в объекты Java, рейтинг github'а - 1732. User guide и Hello World examples. Лицензия: Apache 2
  6. Instagram Ig json parser Быстрый JSON парсер для java проектов, рейтинг github'а - 921. User guide и Hello World examples. Лицензия: BSD 3.
  7. Jackson - Похоже на GSON, но более производительна, если вам нужно часто создавать экземпляр библиотеки. Подпроекты: Jackson core Базовая часть функционала, Jackson databind Базовая реализация databind'а, рейтинг github'а - 881. User guide и Hello World examples. Лицензия: Apache 2.
  8. JSON.simple - Простая библиотека для генерации и парсинга JSON, рейтинг github'а - 161. User guide and Hello World examples. Лицензия: Apache 2.
  9. Genson - Мощная и простая в использовании Java библиотека для преобразования в/из JSON, рейтинг github'а - 108. User guide и Hello World examples. Лицензия: Apache 2.

Аналог XPath для JSON

  1. Jayway JsonPath Java JsonPath — реализация аналога XPATH только для Json, а не XML, рейтинг github'а - 849. User guide и Hello World examples. Лицензия: Apache 2.
  2. Alibaba Fastjson Быстрый JSON обработчик, рейтинг github'а - 4851. User guide и Hello World examples. Лицензия: Apache 2.

Генерация Java классов из JSON или JSON схемы и JSON валидация

  1. Jsonschema2pojo Генерация Java классов из JSON схемы (или примера JSON) с аннотациями для data-binding для Jackson 1.x or 2.x, Gson и т. п.., рейтинг github'а - 1664. User guide и Hello World examples. Лицензия: Apache 2.
  2. Json schema validator Валидация JSON схемы, реализована на чистой Java, создана с целью проверки Json файлов, используя Json схемы., так же может генерировать Java классы из схемы и наоборот, рейтинг github'а - 547. User guide и Hello World examples. Лицензия: GNU Lesser 3/Apache 2.

9. CSV

Frameworks and libraries that simplify reading/writing CSV data.
К оглавлению

  1. opencsv - Простой CSV парсер, Лицензия: Apache 2.
  2. Super CSV - Мощный CSV парсер, поддерживающий Dozer, Joda-Time и Java 8, Лицензия: Apache 2.
  3. uniVocity-parsers - Один из самых быстрых и многофункционных CSV парсеров. Так же в библиотеке есть парсеры для TSV и файлом с записями фиксированной ширины, Лицензия: Apache 2.

10. Интеграция с Api разных систем (соц. сетей и т. п.)

К оглавлению

  1. Twitter Zipkin Zipkin это распределенная системы отслеживания, которая используется Twitter для сборк информации о работе всех его различных сервисов. Лицензия: Apache 2 , рейтинг github'а - 2442.
  2. Wizcorp Phonegap facebook plugin Официальный плагин для Facebook в Apache Cordova/PhoneGap. Лицензия: Apache 2 , рейтинг github'а - 1587.
  3. Twitter4j Twitter4J это библиотека для работы с Twitter API в Java (поддерживает работу с JSON, REST Search API, Apache HttpClient, Async API, Streaming API, Async API, Streaming API, HTTP/2). Лицензия: Apache 2 , рейтинг github'а - 1551.
  4. Netflix Ice AWS Usage Tool — система работы с Amazon Web Services. Лицензия: Apache 2 , рейтинг github'а - 1358.
  5. Twitter Commons Библиотека для работы с Twitter для python и JVM. Лицензия: Apache 2 , рейтинг github'а - 964.
  6. Alibaba RocketMQ RocketMQ - это реализация системы обмена сообщениями MQ (Message queue) для взаимодействия с различными сервисами портала Alibaba. Лицензия: Apache 2 , рейтинг github'а - 627.
  7. Twitter Hbc Java HTTP клиент для работы Twitter's Streaming API. Лицензия: Apache 2 , рейтинг github'а - 498.
  8. Spring projects Spring social Spring Social это расширение Spring Framework, которые позволяет интегрировать ваши приложения с Software-as-a-Service (SaaS) провайдерами, такими как Facebook или Twitter. Лицензия: Apache 2 , рейтинг github'а - 409.

11. Работа с биткойном

К оглавлению

  1. XChange XChange это Java библиотека предоставляющая удобный API для взаимодействия с более чем 50+ Bitcoin и Altcoin обменными биржами . Лицензия: MIT , рейтинг github'а - 455.
  2. bitcoinj Библиотека для работы с Bitcoin. Лицензия: Apache 2 , рейтинг github'а - 453.
  3. DiabloMiner OpenCL майнер для Bitcoin. Лицензия: GNU 3, рейтинг github'а - 443.

12. Облачные системы

К оглавлению

  1. Netflix SimianArmy - инструменты для поддержки ваших облачных операций. Chaos Monkey это гибкий инструментарий для создания устойчивых к случайным ошибкам приложений.. Лицензия: Apache 2 , рейтинг github'а - 2892.
  2. Netflix Eureka это REST (Representational State Transfer) — сервис для управления AWS (Amazon Web Services ) облаками, обеспечение load balancing и отказоустойчивости. Лицензия: Apache 2 , рейтинг github'а - 1051.
  3. Aws sdk java Официальное зеркало Java AWS SDK (Amazon Web Services). Лицензия: Apache 2 , рейтинг github'а - 1008.
  4. Syncany это облачное хранилище и файл обменное приложение, которое фокусируется на безопансоти и абстрагирования от системы хранения. Лицензия: GNU 3, рейтинг github'а - 772.
  5. Legacy Jclouds это открытая библиотека, которая поможет начать работать с облаками используя ваши навыки разработки на Java. Поддерживает многие виды облаков включая Amazon, VMWare, Azure, и Rackspace.. Лицензия: Apache 2 , рейтинг github'а - 507.
  6. Elasticsearch - одна из самых популярных систем распределенного облачного поиска. . Лицензия: Apache 2 , рейтинг github'а - 11833.
  7. Elasticsearch cloud aws Плагин для работы ElasticSearch с Amazon Web Service (AWS) облаками. Лицензия: Apache 2 , рейтинг github'а - 435.
  8. Elasticsearch analysis ik The IK Analysis плагин интеграции с Lucene IK анализаторов для elastic search, поддерживающий пользовательские словари. Лицензия: ?, рейтинг github'а - 395.
  9. Apache CloudStack Apache CloudStack это IaaS (“Infrastracture as a Service”) облачная платформа. Лицензия: Apache 2.
  10. Apache Stratos Apache Stratos это Platform-as-a-Service (PaaS) облачная платформа. Лицензия: Apache 2.
  11. Apache Airavata Apache Airavata это фреймворк выполнения и управления заданиями в распределенных ресурсах, таких как кластеры, суперкомпьютеры, national grids, академические и комерческие облака. Лицензия: Apache 2.

13. Cluster Management

Фреймворки для динамического управления приложением внутри класстера.
К оглавлению

  1. Apache Aurora - Apache Aurora это Apache Mesos фреймворк для длительных сервисов и cron jobs, Лицензия: Apache 2.
  2. Singularity - Singularity это Apache Mesos фреймворк, который делает разработку и обслуживание проще. Он поддерживает вебсервисы, фоновое выполнение, запуск задач по расписанию и выполнение одноразовых задач, Лицензия: неизвесна, на сайте не найдена!.
  3. Apache Helix Это фреймворк управления кластером. Лицензия: Apache 2.
  4. Apache Airavata Apache Airavata это фреймворк выполнения и управления заданиями в распределенных ресурсах, таких как кластеры, суперкомпьютеры, national grids, академические и комерческие облака. Лицензия: Apache 2.

14. Работа с документами (XLS, DOC, PDF и т.п.)](#14-document-processing-xls-doc-and-pdf)

Libraries that assist with processing office document formats.

  1. Apache POI - Поддерживает OOXML (XLSX, DOCX, PPTX) так же как и OLE2 (XLS, DOC or PPT), Лицензия: Apache 2.
  2. documents4j - API для конверторов в разные форматы документов, используя third-party конверторы такие как MS Word, Лицензия: Apache 2.
  3. Docx4j Docx4j библиотека для работы с Microsoft OpenXML файлами (Word docx, Powerpoint pptx, и Excel xlsx) через JAXB. Лицензия: Apache 2.
  4. jOpenDocument - Работа с OpenDocument формата, Лицензия: GNU или платная лицензия для коммерческого использования. ИЛИ
  5. Apache Tika The Apache Tika это набор инструмнтов для получение метаданных и структурированого теста из различных видом документов, используя разные парсеры (Apache cTAKES,OpenNLP и т.п.). Лицензия: Apache 2.

PDF

Everything that helps with the creation of PDF files.
К оглавлению

  1. Apache FOP - Создание PDF из XSL-FO, Лицензия: Apache 2.
  2. Apache PDFBox - Набор инструментов для создания и изменения PDF, Лицензия: Apache 2.
  3. DynamicReports - Улучшение JasperReports, Лицензия: GNU Lesser 3.
  4. flyingsaucer - lying Saucer это Java библиотека для использования XML или XHTML с использованием CSS 2.1 для генерации PDF, изображений или Swing panels. Лицензия: GNU Lesser 2.1.
  5. iText - Создание PDF файлов из программы, но требует лицензию для комерчиского использования, Лицензия: AGPL или платная лицензия для комерческого использования. ИЛИ
  6. JasperReports - Комплексный движок отчетов, Лицензия: GNU Lesser.

15. Работа с нативным API разных ОС](#15-native)

For working with platform-specific native libraries.
К оглавлению

  1. Java Native Access (JNA) Java Native Access — система доступа к нативному API. Так же предоставляет интерфейсы к основным системых библиотекам. Лицензия: GNU Lesser 2.1 или Apache 2. , рейтинг github'а - 1750.
  2. JNR - Работа с нативными библиотеками без использвания JNI. Так же предоставляет интерфейсы к основным системых библиотекамs. Те же задачи что у JNA, но работает быстрее, и служит основой для разрабатываемого Project Panama, Лицензия: Apache 2.

16. XML и SOAP

  1. Xalan Xalan-J это XSLT processor, написанный на Java. Лицензия: Apache 2.
  2. Xerces Xerces-J это validating XML парсер, написанный на Java. Лицензия: Apache 2.
  3. XML Graphics Конвертация XML в графическое представление. Лицензия: Apache 2.
  4. Santuario Библиотека реализующая XML Digital Signature спецификацию и XML Encryption спецификацию. Лицензия: Apache 2.
  5. VXQuery Apache VXQuery реализует параллельный XML Query processor. Лицензия: Apache 2.
  6. Apache Axis Веб контейнер который помогает создавать, развертывать и запускать вебсервисы. Axis2 это Web Services / SOAP / WSDL движок. Лицензия: Apache 2.

17. Интеграция с сервисами геопозиционирования

Библиотеки для работы с сервисами геопозиционирования.

  1. Apache SIS - Библиотека для разработки приложений геопозиционирования. Лицензия: Apache 2.
  2. Geo - GeoHash утилиты для Java. Лицензия: Apache 2.
  3. Geotoolkit.org - Библиотека для разработки приложений геопозиционирования. Работает на основе Apache SIS проекта. Лицензия: GNU Lesser 2.1.
  4. GeoTools - Библиотека предоставляющая инструменты для получения данных геопозиционирования. Лицензия: GNU Lesser 2.1.
  5. H2GIS - Геопозиционированое расширение для базы данных H2. Лицензия: GPL 3.
  6. Jgeohash - Библиотека, помогающая Java разработчикам в использовании GeoHash алгоритмов. Лицензия: Apache 2.
  7. JTS Topology Suite - API для 2D геопозиционирования. Лицензия: GNU Lesser 3.
  8. Mapsforge - Продукт для геопозиционирования на карте, основанной на OpenStreetMap данных. Лицензия: GNU Lesser 3.
  9. Spatial4j - Универсальная библиотека геопозиционирования. Лицензия: Apache 2.

IV. Тестирование

1. Тестирование

К оглавлению

  1. Junit Простой и популярный фреймворк для unit тестирования . Лицензия:  Eclipse Public 1.0 , рейтинг github'а - 3662.
  2. Mockito Mocking фреймворк для unit тестов, написанных на Java. Лицензия: MIT , рейтинг github'а - 1307.
  3. Selenium Фреймворк для автоматического тестирования в браузере . Лицензия: Apache 2 , рейтинг github'а - 1305.
  4. Cucumber jvm Портирование Cucumber фреймворка для JVM. Лицензия: MIT , рейтинг github'а - 1047.
  5. JBehave BDD фреймворк, обладающий широкими возможностями по конфигурации. BDD является эволюцией подходов к разработке через тестирование (англ. test-driven development, TDD) и через приемочное тестирование (англ. acceptance-test driven design, ATDD), а также предназначен для того, чтобы сделать эти практики более доступными и интуитивно понятными в одинаковой степени новичкам и экспертам. Лицензия: BSD 3, рейтинг github'а - 208.
  6. Spock Spock это фреймворк тестирования и создания спецификаций для Java и Groovy приложений . Лицензия: Apache 2 , рейтинг github'а - 669.
  7. Google Firing range Google Firing Range это тестовый вебсервер для приложений-сканеров уязвимостей вебсайтов. Firing Range создает широкий спектр синтетических уязвимостей. Лицензия: Apache 2 , рейтинг github'а - 650.
  8. Fitnesse FitNesse это система тестирования, вебсервер и вики. Лицензия: CPL-1.0, рейтинг github'а - 618.
  9. Sikuli Sikuli служит для написания скриптов, служащих для автоматизации работы со всем что вы ведите на экране.. Лицензия: MIT , рейтинг github'а - 609.
  10. JavaHamcrest Hamcrest это фреймворк для создания условий и правил в программных тестах, написанных на Java, он позволяет создать сложные выражения для этих условий (assertion matcher), которые потом могут использовать в системах unit тестирования, таких как JUnit или jMock. . Лицензия: BSD 3, рейтинг github'а - 561.
  11. Wiremock Инструментарий для создания mock'ов (заглушек для тестирования) HTTP сервисов. Лицензия: Apache 2 , рейтинг github'а - 508.
  12. Testng TestNG фреймворк для тестирования. Лицензия: Apache 2 , рейтинг github'а - 477.
  13. Galenframework Galen Galen Framework это мощный фреймворк для автоматического тестирования дизайна и функционала вебсайтов. Использует Selenium для работы с браузером и автоматического тестирования вебсайтов. Лицензия: Apache 2 , рейтинг github'а - 449.
  14. AssertJ AssertJ это библиотека предоставляющая мощный механизм работы с условиями (assertion) для тестовых фреймворков. Лицензия: Apache 2 , рейтинг github'а - 423.
  15. Google truth Фреймворк для задания ограничений и утверждений (Assertion/Proposition) в Unit тестах (версия ещё очень альфа, может быть полностью изменена ) . Лицензия: Apache 2 , рейтинг github'а - 394.
  16. Apache JMeter - Функциональное тестирование и замеры производительности. Лицензия: Apache 2.
  17. Arquillian - Интеграционная и функциональная платформа тестирования Java EE контейнеров, Лицензия: Apache 2.
  18. Awaitility - DSL для синхронизации ассинхроных операций, Лицензия: Apache 2.
  19. Citrus - Фреймворк интеграционного тестирования, которой фокусируется на тестировании клиент-серверного обмена сообщениями, Лицензия: Apache 2.
  20. Gatling - Содержит инструменты тестирования разработанные для легкого использования, легкого сопровождения и высокой производительности, Лицензия: MIT.
  21. GreenMail - In-memory email сервер для интеграционного тестирования, поддерживает SMTP, POP3 и IMAP включая SSL, Лицензия: MIT.
  22. JGiven - Удобный для разработчиков BDD фреймворк тестирования совместимый с JUnit и TestNG, Лицензия: MIT.
  23. JMockit - Создает мock'и статических и финальных методов, а так же многое другое, Лицензия: MIT.
  24. JUnitParams - Облегчает создание читабельных и легких в поддержке параметризованных тестов, Лицензия: Apache 2.
  25. Moco - Создание лаконичных вебсервисов для тестирования (stubs и mocks), награжден Duke's Choice Award 2013, Лицензия: MIT.
  26. PIT - Быстрый мутационный фреймворк тестирования с возможностью обнаружения ошибок в написании существующих JUnit или TestNG тестах, Лицензия: Creative Commons License.
  27. PowerMock - Позволяет создание mock'ов статических методов, финальных классов и методов, приватных классов и удаление статических инициализаторов, Лицензия: Apache 2.
  28. REST Assured - Java DSL для легкого тестирования REST/HTTP сервисов, Лицензия: Apache 2.
  29. Selenide - Краткое API над Selenium, позволяющее писать стабильные и читабельные UI тесты, Лицензия: MIT.
  30. Unitils - Модульная библиотека тестирования для unit и интеграционного тестирования, Лицензия: Apache 2.
  31. SeLion - SeLion это инструмент автоматического тестирования от paypal, построенный на основе TestNG и Selenium, может использоваться для тестирования веб и мобильных приложений. github's star - 63. Лицензия: Apache 2.

2. Code Coverage

Фреймворки и инструменты для получения набора code coverage метрик для тестов.
К оглавлению

  1. JaCoCo - Фреймворк, который позволяет собирать метрики покрытия кода тестами, используя как offline, так и runtime байткод инструменты, используется в EclEmma, плагине Eclipse для определения степени покрытия тестами, Лицензия: Eclipse Public License v1.0, Apache 2, BSD.
  2. Clover - Проприетарный инструмент для определения степени покрытия кода тестами от Atlassian, который основан на анализе исходного кода вместо анализа байткода, Лицензия: платная, проприетарная
  3. Cobertura - Использует автономный (или статическый) инструментарий анализа байткода и class loading'a для получения метрик покрытия кода тестами, Лицензия: GNU 2.
  4. JCov - Набор инструментов для анализа покрытия кода тестами, который используется при разработке OpenJDK проекта, Лицензия: GNU 2.

3. Continuous Integration

Набор инструментов, поддерживающих непрерывную сборку, тестирование и релизы приложений.
К оглавлению

  1. Bamboo - Atlassian's решение с хорошей интеграцией с другими продуктами этой компании. Можно использовать либо подав заявку на бесплатную лицензию или просто купив его,
  2. CircleCI - Cервис хостинга CI с бесплатным тестовым сроком,
  3. Codeship - Cервис хостинга CI с ограниченными бесплатными планами.
  4. fabric8 - Интеграционная платформа для контайнеров, Лицензия: Apache 2.
  5. Go - Открытое решение от ThoughtWork. Есть платная поддержка, Лицензия: Apache 2.
  6. Jenkins - Предоставляет серверное решение для развертывания сервисов, Лицензия: MIT.
  7. TeamCity - JetBrain's CI решение с бесплатной версией для open-source продуктов, Лицензия: Проприетарная, платная
  8. Travis - Cервис хостинга CI, который часто использует в открытых продуктах, Лицензия: ?
  9. Hudson - Сервер непрерывной реализации для активной разработки, Лицензия: Eclipse Public License v1.0.
  10. Apache Continuum Сервер непрерывной реализации от Apache. Лицензия: Apache 2.

4. Formal Verification

Инструменты для формальной верефикации: proof assistants, model checking, symbolic execution и т.п.
К оглавлению

  1. CATG - Concolic unit тест движок. Автоматически генерит unit тесты, используя ряд формальных методов, Лицензия: BSD 2, Лицензия: BSD 2.
  2. Checker Framework - Легко настраиваемая плагинами система типов, включет nullness типы, physical units, неизменяемые типы и прочее, Лицензия: GNU 2.
  3. Daikon - Daikon обнаруживает различные программные invariants и может генерировать JML спецификации, основанные на этих invariats, Лицензия: GNU.
  4. Java Modeling Language (JML) - Интерфейс поведенческих спецификаций, который может исопльзоваться для определения желаемого поведения программных модулей. Он комбинирует подход контрактного дизайна приложения от Eiffel и подход спецификаций модели, основанных на семействе Larch языков описания спецификаций интерфейсов, с некоторыми элементами от refinement calculus. Используется в некоторых других системах верефикации, Лицензия: GNU 2.
  5. Java Path Finder (JPF) - JVM инструмент formal верефикации, который содержит проверки модели и прочее. Созданн НАСА., Лицензия: NASA OPEN SOURCE AGREEMENT VERSION 1.3
  6. jCUTE - Concolic unit тест движок. Автоматически генерит unit тесты. Concolic выполнение комбинирует случайное concrete execution с symbolic execution и automatic constraint solving, Лицензия: Проприетарная, бесплатная для целей обучения и т.п.
  7. JMLOK 2.0 - Обнаруживает несоответствий между кодом и спецификацией JML с помощью генерации случайных тестов с обратной связью и предлагает возможные причины, вызывающие обнаруженные несоотвествия, Лицензия: GNU 3.
  8. KeY - KeY System это инструмент формальной верефикации основными целями которого являются интеграция дизайна, имплементации, формальной спецификации и формальная верефикация ООП настолько легко, насколько это возможно. Использует JML для спецификаций и symbolic execution для верефикации, Лицензия: GNU.
  9. OpenJML - Преобразует JML спецификации в SMT-LIB формат и находит проблемы и передает описание проблем к backend решателю, Лицензия: GNU 2 и Eclipse Public License v1.0.

V. Инструменты для упрощения разработки

1. IDE

К оглавлению

  1. JetBrains Intellij Сommunity IntelliJ IDEA Community Edition — одна из лучший IDE для Java . http://www.jetbrains.com/idea/ Лицензия: Apache 2 , рейтинг github'а - 2068.
  2. JetBrains Ideavim Плагин, эмулирующий Vim для IDE, основанных на IntelliJ платформе. Лицензия: GNU 2, рейтинг github'а - 1199.
  3. Rstudio RStudio это IDE для языка R. Лицензия: GNU AGPLv3, рейтинг github'а - 1048.
  4. Vrapper Плагин по добавлению Vim-подобного редактора в Eclipse. Лицензия: GNU 3.0, рейтинг github'а - 669.
  5. Eclipse themes Jeeeyul's Eclipse Themes (прошлое имя Eclipse Chrome Theme) это возможность настроить каждую деталь Eclipse'а. Лицензия: Eclipse Public 1.0, рейтинг github'а - 623.
  6. Eclipse color theme Eclipse Color Theme позволяет легко импортировать и удобно менять цветовые темы без побочных эфектов. Лицензия: Eclipse Public 1.0, рейтинг github'а - 614.
  7. Eclim Добавление в редактор Vim возможностей Eclipse IDE. Лицензия: GNU 3, рейтинг github'а - 590.
  8. JetBrains MPS JetBrains MPS (Meta programming System) служит для быстрой разработки DSL (Domain Specific Language) для любого окружения и с возможностью скомпилировать DSL в множество языков, таких как Java, C, XML и другие. Лицензия: Apache 2 , рейтинг github'а - 525.
  9. Idea markdown Поддержка языка разметки Markdown в IntelliJ IDEA.. Лицензия: Apache 2 , рейтинг github'а - 405.
  10. Eclipse - Популярная открытая IDE поддерживающая большое количество плагинов и языков программирования, Лицензия: Eclipse Public License v1.0.
  11. NetBeans - IDE поддерживает большое количество различных возможностей для разработки Java SE и EE приложений от работы с базой данных до работы с HTML5, Лицензия: GNU 2 или CDDL 1.0

2. Инструменты и библиотеки для сборки, конфигурирования и развертывания Java приложений

К оглавлению

Build

Инструменты для сборки проекта (build) и работы с зависимостями(dependencies) приложения.

  1. Apache Maven - Система декларативной сборки и управления зависимостями, которая упрощает конфигурирование приложения. Это может быть предпочтительнее Apache Ant, используещего более процедурный подход, который сложнее поддерживать в большинстве случаев. Лицензия: Apache 2 , рейтинг github'а - 614.
  2. Google Bazel - Инструмент для сборки от Google, который позволяет собирать код быстро и надежно. Корректная, воспроизводимая и быстрая билд система для любых ситуаций Лицензия: Apache 2 , рейтинг github'а - 2809.
  3. Gradle - Система инкрементальной сборки, использующая для конфигурирования Groovy вместо XML. Хорошо совместима с Maven конфигурациями. Лицензия: Apache 2 , рейтинг github'а - 2465.
  4. Apache Ant - Инструмент для сборки проиложений, использующий XML для конфигурационных файлов, раньше был очень популярен, сейчас используется довольно редко. Подпроекты: Apache AntUnit - система тестирования файлов ant'a, Apache Compress Ant Library - дополнительные форматы архивов и сжатия, Apache Ivy - работа с зависимостями, Apache IvyDE - плагин Ivy для Eclipse. Лицензия: Apache 2.
  5. Facebook Buck - система сборки, упрощающая создание небольших, повторно используемых модулей. Лицензия: Apache 2 , рейтинг github'а - 1449.
  6. Archiva Apache The Build Artifact Repository Manager. Apache Archiva - расширяемый репозиторий артефактов сборки, идеально совместим с такими средствами сборки как Maven, Continuum и ANT. Лицензия: Apache 2.

Configuration

Библиотеки, управлящие конфигурированием
К оглавлению

  1. config - Конфигурационная библиотека для JVM языков. Лицензия: Apache 2 , рейтинг github'а - 614.
  2. owner - Уменьшение бесмысленного типового кода для работы с properties, Лицензия: BSD 3.
  3. Netflix Archaius - библиотека, реализующая API для управления конфигурациями, используется Netflix. Лицензия: Apache 2 , рейтинг github'а - 614.
  4. LightAdmin - Легко настраиваемя CRUD UI библиотека для быстрой разработки приложений, Лицензия: Apache 2.
  5. Apache Yetus Коллекция библиотек и инструменов для управления contribution и release процессами. Лицензия: Apache 2.

Distribution

Инструменты для работы с развертыванием (distribution) приложений в нативные форматы.
К оглавлению

  1. Bintray - Контроль версий для бинарных файлов, так же может использовать вместе с Maven или Gradle и имеет свободный план для открытого ПО, а так же ряд различных бизнес планов, Лицензия: проприетарная платная, есть бесплатная версия для открытых продуктов
  2. Capsule - это система сборки приложения в один выполняемый JAR файл со всеми артефактами, ресурсами, нативными библиотеками и т.п. Простой и мощный инструмент для packaging и deployment. Толстый JAR на стероидах или "Docker для Java", который поддерживает JVM-оптимизированные контейнеры, рейтинг github'а - 576. Лицензия: Eclipse Public License v1.0.
  3. Central Repository - Огромный бинарный репозеторий компонентов, который доступен как свободный сервис для проектов с открытым ПО. Используется Apache Maven и доступно для всех остальных инструментов сборки, Лицензия: проприетарная
  4. IzPack - Широко используемый набор инструментов для многоплатформенного развертывания приложений (deployments). Лицензия: Apache 2 , рейтинг github'а - 614.
  5. JitPack - Простой в использовании репозиторий пакетов для GitHub. Собирает Maven / Gradle проекты и публикует их в готовых к использованию пакетах. Лицензия: Apache 2 , рейтинг github'а - 614.
  6. Launch4j - Преобразует JARs файлы в легковесные и нативные исполнянмые файлы Windows
    , Лицензия: BSD 3 и MIT.
  7. Nexus - Усправления бинарными файлами с прокси и кэшированием, Лицензия: проприетарная платная
  8. packr - Преобразование JARs, assets и JVM в нативные приложения Windows, Linux и Mac OS X, Лицензия: Apache 2.
  9. Spotify Helios это Docker orchestration платформа для развертывания и управления контейнерами с помощью HTTP API или командной строки. Лицензия: Apache 2 , рейтинг github'а - 952.

3. Инструменты для оптимизации производительности

Библиотеки для оптимизации и решения проблем с производительностью
К оглавлению

  1. Square Leakcanary утилита для поиска ошибок из-за которых происходит memory leak для Android и Java. Лицензия: Apache 2 , рейтинг github'а - 4168.
  2. Dropwizard Metrics - библиотека для замера различных метрик в Java приложении для простого понимания что и как код делает во время продакшена.  . Лицензия: Apache 2 , рейтинг github'а - 3188.
  3. GCViewer Форк Tagtraum GCViewer — небольшой инструмент для подробной визуализации GC (garbage collector) логов (включая G1 collector). Лицензия: GNU Lesser 2.1, рейтинг github'а - 990.
  4. AdoptOpenJDK Jitwatch Анализатор логов Java HotSpot JIT компилятора, показывающий результаты используя JavaFX интерфейс. Лицензия: BSD 2, рейтинг github'а - 547.
  5. Naver Pinpoint это APM (Application Performance Management) инструмент мониторинга производительности крупномасштабных распределенных систем, написанных на Java. Создан на основе Google's Dapper paper.. Лицензия: Apache 2 , рейтинг github'а - 486.
  6. jHiccup - Логирование и запись проблем с производительностью и потерь скорости у JVM, Лицензия: BSD 2.
  7. JMH - Microbenchmarking инструмент для JVM, Лицензия: GNU 2.
  8. LatencyUtils - Утилиты для измерения времени отклика приложения и составления отчетов, Лицензия: BSD 2.
  9. VisualVM - Визуальный интерфейс, показывающий детальную информацию о запущенных приложениях.Лицензия: GNU 2 with the Classpath Exception.
  10. JProfiler - Платный профайлер. Лицензия: Проприетарная платная, есть бесплатная версия для open source проектов
  11. YourKit Java Profiler - Платный профайлер. Лицензия: Проприетарная платная, есть бесплатная версия для open source проектов, спец.планы для научных и академических целей
  12. XRebel - Платный профайлер. Лицензия: Проприетарная платная

4. Анализ исходного кода

К оглавлению

  1. SonarQube это свободная платформа для управлением качеством кода. http://www.sonarqube.org Лицензия: GNU Lesser 3, рейтинг github'а - 655.
  2. Google Error prone - обнаружение типовых ошибок в Java коде. Лицензия: Apache 2 , рейтинг github'а - 590.
  3. OpenGrok Это быстрый и полезные поиск в исходном коде проекта, поиск кросс-ссылок в классах и навигации по дереву исходного кода, он поддерживает разные системы управления кодов, такие как SCCS, RCS, CVS, Subversion, Mercurial и т.п.c.. Лицензия: CDDL 1.0, рейтинг github'а - 570.
  4. Checkstyle - Статический анализ на соблюдения стандартов и конвенций по написанию кода, Лицензия: GNU Lesser 2.1.
  5. FindBugs - Статический анализ байткода для поиска потенциальных ошибок. Лицензия: GNU Lesser.
  6. jQAssistant - Статический анализатор кода с основанном на Neo4J языке запросов, Лицензия: GNU 3.
  7. PMD - Анализ исходного кода для поиска плохих практик программирования, Лицензия: BSD 4.

5. Monitoring

Инструменты для мониторинга приложений в production.
К оглавлению

  1. AppDynamics - Коммерческий монитор производительности. Лицензия: Проприетарная платная, есть бесплатная версия с ограниченной функциональностью
  2. JavaMelody - Мониторинг производительности и профайлинг, Лицензия: Apache 2.
  3. jmxtrans - Инструмент для соединения с различными JVMs и запросах их свойств через JMX. Этот язык запросов основан на JSON, что позволяет не-Java программистам получать доступ к JVMs свойствам. Также, этот инструмент поддерживает различные виды вывода данных, включая Graphite, Ganglia, StatsD и многие другие, Лицензия: MIT.
  4. Kamon - Инструменты для мониторинга приложений запущенных на JVM, Лицензия: Apache 2.
  5. New Relic - Коммерческий монитор производительности. Лицензия: Проприетарная платная, с двумя неделями пробного периода
  6. SPM - Коммерческий монитор производительности с отладкой распределенных транзакций в JVM приложениях. Лицензия: Проприетарная платная, есть бесплатная версия с ограниченной функциональностью
  7. Takipi - Коммерческий мониторинг ошибок и отладка в продашен режиме. Лицензия: Проприетарная платная, есть бесплатная версия с ограниченной функциональностью и пробный период в две недели у полной версии

6. Переопределение загруженных классов

К оглавлению

  1. Dynamic Code Evolution Virtual Machine (DCE VM) - Модификация JVM, которая позволяет неограниченное переопределение загруженных классов во время выполнения. Лицензия: GNU 2
  2. DCEVM - Форк DCEVM. Модификация JVM, которая позволяет неограниченное переопределение загруженных классов во время выполнения, Лицензия: GNU 2
  3. HotswapAgent - Неограниченное переопределение классов и ресурсов во время выполнения, Лицензия: GNU 2
  4. JRebel - Коммерческое программное обеспечение, которое позволяет неограниченно перезагружает код и изменять конфигурацию без перезагрузки сервера, Лицензия: Проприетарная, платное ПО,
  5. Spring Loaded - Агент для повторой перезагруки классов, Лицензия: Apache 2

7. Прочее

К оглавлению

  1. Google J2ObjC: Java to Objective-C Translator and Runtime — конвертация языка Java (включая Android) в Objective-C.. Лицензия: Apache 2 , рейтинг github'а - 2940.
  2. Bytecode viewer Система для реверс-инженеринга Java и Android (декомпилятор, редактор, отладчик и т. д.). Лицензия: GNU 3, рейтинг github'а - 617.
  3. Reflections сканирует ваш classpath, индексирует метаданные и позволяет строить запросы во время выполнения к метаданным, может сохранять информацию о метаданных вашего проекта. Лицензия: WTFPL, рейтинг github'а - 514.

Current implementations of the JVM/JDK.

  1. JDK 9 - Ранний доступ к версии JDK 9. , Лицензия: GNU 2.
  2. OpenJDK - Oткрытая реализация Java для Linux., Лицензия: GNU 2.
  3. Zulu OpenJDK - OpenJDK реализация для Windows, Linux и Mac OS X включая Java 8, Лицензия: GNU 2.
  4. Zulu OpenJDK 9 - Ранний доступ к версии OpenJDK 9 для Windows, Linux и Mac OS X, Лицензия: GNU 2.

VI. Языки программирования и приложения, написанные на Java

1. Языки программирования, написанные на Java

К оглавлению

  1. Clojure Язык программирования Clojure.  . Лицензия: Apache 2 , рейтинг github'а - 4332.
  2. JetBrains Kotlin Язык программирования Kotlin. Лицензия: Apache 2 , рейтинг github'а - 1621.
  3. Gocd Основной репозиторий для сборки Go программ . Лицензия: Apache 2 , рейтинг github'а - 1602.
  4. Groovy core Язык программирования Groovy. Лицензия: Apache 2 , рейтинг github'а - 1327.
  5. Jphp compiler Jphp Альтернативный вариант Zend PHP для JVM, такой же как JRuby и Jython но только для PHP. Лицензия: Apache 2 , рейтинг github'а - 969.
  6. Trifork Erjang Виртуальная JVM машина для языка Erlang . Лицензия: Apache 2 , рейтинг github'а - 484.

2. Утилиты для других языков программирования, написанные на Java

К оглавлению

  1. Go lang idea plugin IDE для языка программирования Goole Go, созданная на основе IntelliJ Platform. Лицензия: Apache 2 , рейтинг github'а - 1717.
  2. Processing js Портирование Processing библиотеку для работы с видео и изображениями в JavaScript.. Лицензия: MIT , рейтинг github'а - 1696.
  3. Pysonar2 PySonar2 это система индексирования и получения типов в Python, которая проводить сложный анализ с помощью Sourcegraph сотен тысяч открытых Python репозиториев. Лицензия: GNU GNU AGPLv3, рейтинг github'а - 1654.

3. Javascript

К оглавлению

  1. Yuicompressor YUI Compressor — это система сжатия JavaScript и CSS файлов, которая удаляет лишние пробелы, безопасно обфуцирует локальные переменные до минимального возможного имени и т. д.. Лицензия: BSD, рейтинг github'а - 1840.
  2. Google Closure compiler Библиотека проверки JavaScript кода и его оптимизации. Лицензия: Apache 2 , рейтинг github'а - 1442.
  3. Frontend maven plugin Maven плагин который скачивает и устанавливает Node и NPM локально и запускает NPM install, Grunt, Gulp и/или Karma. Лицензия: Apache 2 , рейтинг github'а - 586.
  4. Dynjs Среда выполнения ECMAScript для JVM. Лицензия: Apache 2 , рейтинг github'а - 533.

4. Фреймворки для создания парсеров, интерпретаторов и компиляторов кода

К оглавлению

  1. ANTLR - Многоцелевой полноценный фреймворк для top-down парсинга, Лицензия: BSD 2.
  2. JavaCC - Более специфичный и простой в обучении, имеет синтаксический предпросмотр, Лицензия: BSD .

5. Приложения и готовые продукты написанные на Java

К оглавлению

  1. Square Keywhiz - cистема для хранения и управления секретными данными (TLS сертификаты, GPG ключи, API токены, данные доступа к базам данным) . Лицензия: Apache 2 , рейтинг github'а - 979.
  2. Rundeck это автоматический сервис-планировщик по управлению заданиями, job'aми с вебконсолью, инструментами командной строки и WebAPI. . Лицензия: Apache 2 , рейтинг github'а - 853.
  3. KeyBox это SSH вебконсоль, которая используется для административного доступа в систему. Лицензия: Apache 2 , рейтинг github'а - 792.
  4. OpenTripPlanner это свободный планировщик поездок, поддерживает открытые стандартные форматы файлов (GTFS и OpenStreetMap), также включает REST API для планирования путишествий, как и Javascript клиент . Лицензия: Apache 2 , рейтинг github'а - 704.
  5. Netflix Servo обеспечивает простой интерфейс для получения и публикации параметров приложений Netflix . Лицензия: Apache 2 , рейтинг github'а - 681.
  6. Jitsi программа, обеспечивающее текстовую, голосовую и видеосвязь с разными протоколами SIP, XMPP/Jabber, AIM/ICQ, IRC, Yahoo! и много других возможностей. Лицензия: Apache 2 , рейтинг github'а - 676.
  7. Netflix Exhibitor это система для ZooKeeper, обеспечивающая мониторинг, архивирование и восстановление, очистку и визуализацию. Лицензия: Apache 2 , рейтинг github'а - 610.
  8. Glyptodon Guacamole client - клиент, который позволяет работать с удаленным рабочим столом через браузер без установки какого-либо программного обеспечение. Использует HTML5, JavaScript и Java . Лицензия: MIT , рейтинг github'а - 556.
  9. Bateman - простая система торговли акциями, которая оптимизирует свои параметры, используя particle swarm оптимизацию. Лицензия: MIT , рейтинг github'а - 543.
  10. Java repl - реализация Read Eval Print Loop (простой интерактивной среды программирования, которая сразу вычисляет введенные пользователем выражения) для Java. Лицензия: Apache 2 , рейтинг github'а - 536.
  11. Seyren это оболочка для управления предупреждениями (alert) для Graphite, поддерживает много каналов нотификации: Email, Flowdock, HipChat, HTTP, Hubot, IRCcat, PagerDuty, Pushover, SLF4J, Slack, SNMP, Twilio. Лицензия: Apache 2 , рейтинг github'а - 527.
  12. Graphhopper это быстрая и эффективно использующий память программа определения лучшего дорожного маршрута на Java. По умолчанию использует данный OpenStreetMap, но существует импорт и из других источников. Лицензия: Apache 2 , рейтинг github'а - 506.
  13. Ttorrent это Java реализация BitTorrent протокола, BitTorrent tracker и BitTorrent клиента . Лицензия: Apache 2 , рейтинг github'а - 460.
  14. Geoserver это приложение, написанное на Java, которое используется для обмена и редактирования geo данных. Лицензия: GNU 2.0, рейтинг github'а - 435.
  15. Languagetool - система стилистической и грамматической проверки текста более чем на 25 разных языках (английский, франц узкий, немецкий, русский, польский и т. д.). Лицензия: GNU Lesser 2.1, рейтинг github'а - 416.
  16. Apache OpenMeetings - система с открытым кодом для создания видеоконференций, обмена сообщениями и документами компании. Лицензия: Apache 2.

6. Игры, написанные Java

К оглавлению

  1. Bukkit Мод для Minecraft API. Лицензия: GNU 2, рейтинг github'а - 1600.
  2. MovingBlocks Terasology Terasology это игра в пиксельном мире, основанная на идеях Minecraft'а. Лицензия: Apache 2 , рейтинг github'а - 1070.
  3. MinecraftForge Модификации для Minecraft . Лицензия: GNU AGPLv2.1, рейтинг github'а - 981.
  4. SpongePowered Sponge Forge мод для Minecraft реализующий SpongeAPI. Лицензия: MIT , рейтинг github'а - 803.
  5. BuildCraft BuildCraft — расширение для Minecraft. Лицензия: Apache 2 , рейтинг github'а - 799.
  6. Equivalent Exchange 3 pahimar Equivalent-Exchange-3. Моды для Minecraft. Лицензия: Apache 2 , рейтинг github'а - 783.
  7. SpongePowered SpongeAPI Minecraft плагин API. Лицензия: Apache 2 , рейтинг github'а - 775.
  8. WorldEdit Редактор игровых карт для Minecraft. Лицензия: GNU Lesser 3, рейтинг github'а - 715.
  9. Essentials Essentials - Minecraft серверный командный мод — добавлени более 100 команд для использования в игре . Лицензия: GNU 3, рейтинг github'а - 423.
  10. GlowstoneMC Glowstone Сервер для Bukkit Minecraft. Лицензия: MIT , рейтинг github'а - 421.
  11. Tribal Trouble - Стратегия в реальном времени на Java. Лицензия: GNU 2, рейтинг github'а - 50.

VII. Прочее

1. Примеры исходного кода на java

К оглавлению

  1. Java design patterns  Очень хорошие примеры и справочник по паттернам разработки.  . Лицензия:  MIT , рейтинг github'а - 6341.
  2. Spring projects Spring mvc showcase Примеры, демонстрирующие возможности Spring MVC веб фреймворка. Лицензия: Apache 2 , рейтинг github'а - 1338.
  3. Javaee7 samples Примеры для Java EE 7 . Лицензия: MIT/CDDL/GPLv2, рейтинг github'а - 989.
  4. Algorithms Решение для некоторых общих алгоритмических проблем, написанное на Java.. Лицензия: Apache 2 , рейтинг github'а - 983.
  5. WikiSort Быстрее и стабильные алгоритмы сортировки использующие O(1) памяти. Лицензия: unlicense.org, рейтинг github'а - 953.
  6. Spring projects Spring petclinic Примеры Spring приложений . Лицензия: Apache 2 , рейтинг github'а - 532.
  7. Spring projects Spring integration samples Примеры кода и приложений Spring Integration. Лицензия: Apache 2 , рейтинг github'а - 517.
  8. Java algorithms implementation Коллекция алгоритмов и структур данных, написанных на Java. Лицензия: Apache 2 , рейтинг github'а - 437.
  9. Jboss developer Jboss eap quickstarts Простые и рабочие примеры с простой демонстрацией JBoss EAP, Java EE 7 и других подобных технологий . Лицензия: Apache 2 , рейтинг github'а - 434.
  10. Databricks Learning spark Примеры кода для книги Learning Spark. Лицензия: MIT , рейтинг github'а - 412.
  11. 7guis 7GUIs это проект который рассматривает простоту разработки и полученное юзабилити (usability benchmark) семи типичных GUI задач на разных фреймворках и языках программирования (Java7 +Swing, Clojure+Seesaw, Scala+ScalaFX, Android и т. п.). Задачей сравнить разные подходы к созданию удобного для пользователя GUI. Лицензия: ?, рейтинг github'а - 404.
  12. Spring projects Spring data jpa examples Примеры использования разных возможностей Spring Data JPA . Лицензия: Apache 2 , рейтинг github'а - 400.
  13. Modern Java - A Guide to Java 8 - Популярный Java 8 гайд. Лицензия: MIT.

2. Результаты сравнения производительности кода на Java (benchmark)

К оглавлению

  1. Jvm serializers - бенчмарки и сравнения производительности разных библиотек сериализации в JVM . Лицензия: ?, рейтинг github'а - 970.
  2. YCSB (Yahoo! Cloud Serving Benchmark) - бэнчмарки (тесты производительности) различных облачных сервисов. Лицензия: Apache 2 , рейтинг github'а - 869.

3. Работа с git & github

К оглавлению

  1. Gitblit Gitblit это свободный Java Git клиент для управления, просмотр и обслуживания Git репозиторий . Лицензия: Apache 2 , рейтинг github'а - 787.
  2. WhisperSystems BitHub BitHub - экспериментальный сервис по сбору Bitcoin пожертвований и распределении этих пожертвований каждому кто коммитит в GitHub репозитории. Лицензия: ?, рейтинг github'а - 491.

VIII. Resources

1. Communities

Ресурсы для дискуссий и обсуждений (на английском).
К оглавлению

  • r/java - Subreddit для Java пользователей.
  • stackoverflow - Популярная платформа для вопросов/ответов
  • vJUG - Virtual Java User Group.

2. Influential Books

Книги которые оказали огромное влияние на Java мир и которые действительно стоят того чтобы их прочитать (на английском).
К оглавлению

3. Websites

Полезные сайты.
К оглавлению

IX Видео доклады и лекции о Java

**1\. Вопросы оптимизации и производительности**

1.1 Производительность и оптимизация

  1. Сергей Куксенко - "Квантовые" эффекты производительности,
  2. Сергей Куксенко - Сессия вопросов-ответов о производительности Java,
  3. Алексей Шипилёв и Сергей Куксенко, Россия - Методология оптимизации производительности,
  4. Сергей Куксенко, Oracle — Железные счётчики
  5. Алексей Шипилёв, Oracle — Катехизис java.lang.String - о реализации строк в Java, способы оптимизации работы со строками и ошибки, которые часто допускают при оптимизации работы со строками,
  6. Алексей Шипилёв — Java Benchmarking: как два таймстампа прочитать!
  7. Алексей Шипилёв — Java Benchmarking: как два таймстампа записать
  8. Алексей Шипилёв и Сергей Куксенко — Оптимизация производительности Java-приложений: теория
  9. Алексей Шипилёв и Сергей Куксенко — Оптимизация производительности Java-приложений: детали
  10. Алексей Шипилёв и Сергей Куксенко — Оптимизация производительности Java-приложений: ещё детали
  11. Олег Бунин, Андрей Паньгин, Алексей Рагозин, Олег Анастасьев — Круглый стол. HighLoad
  12. Алексей Шипилёв, Oracle — Сжимай меня полностью
  13. Дмитрий Лазаренко — Оптимизация работы JVM в облаке
  14. Дмитрий Чуйко — Быстрая загрузка ваших классов
  15. Глеб Смирнов — HotSpot, что ты делаешь?! Ахаха, прекрати!
  16. Kirill Golodnov — О бесконечно долгой работе дочерних процессов Java-приложения
  17. Андрей Афанасьев — Оптимизация производительности распределенных приложений...
  18. Руслан Черёмин — Disruptor и прочие фокусы
  19. Gleb Smirnov - Side-By-Side Performance Comparisons - что значит "тормозит" и как с этим бороться
  20. Nikita Salnikov Tarnovski - First steps in GC tuning - проблемы, связанные с производительностью из-за сборщика мусора

1.2 Высоконагруженные приложения (HighLoad)

  1. Андрей Паньгин — Особенности разработки высоконагруженного сервера на Java
  2. Алексей Шевчук — Подходы к решению проблем производительности высоконагруженых сервисов
  3. Роман Елизаров — Миллионы котировок в секунду на чистой Java
  4. Олег Анастасьев — За гранью возможного (Keynote) - о проблемах при создания Однокласников и решения для высоконагруженных сервисов,
  5. Андрея Паньгина — Выжимаем из сервера максимум: приемы кеширования и передачи данных на Java - описание приемов создания высоконагруженных систем на Odnoklassniki.ru,
  6. Alexander Oleynikov — Практический опыт построения API высоконагруженных сервисов - описание создания высоконагруженных систем в Yandex'е,
  7. Valerii Moisieienko - How to Manage 10K request per second in HA manner - история разработки высоконагруженного приложения на недорогом железе,

1.3 Сборка мусора, утечки памяти и работа с памятью

  1. Алексей Рагозин — Сборка мусора, битва алгоритмов
  2. Владимир Долженко — GC: друг или враг?
  3. Роман Елизаров — Почему GC съедает все моё CPU?
  4. Никита Сальников-Тарновский, Plumbr — Где моя память, чувак?!
  5. Глеб Смирнов, Plumbr — Тайны — в наших головах, а не в JVM
  6. Никита Сальников-Тарновский — Утечки памяти
  7. Алексей Шипилёв — О чём молчат Heap Dump-ы
  8. Владимир Воскресенский — Микрохирургия HotSpot
  9. Александр Макаров — Исследование возможностей и ограничений JVM по оптимизации памяти
  10. Андрей Паньгин — Кеширование данных вне Java Heap и работа с разделяемой памятью в Java
  11. Владимир Иванов — G1 Garbage Collector
  12. Иван Крылов — StructuredArray и ObjectLayout - как JVM представляет объекты и вопросы производительности представления объектов,
  13. Никита Сальников-Тарновский — Heap, off you go
  14. Nikita Salnikov-Tarnovski - I bet you have a permgen leak in your application - утечки памяти из-за class load'ов

**2\. Инструменты и IDE**

2.1 IDE и инструменты разработки

  1. Андрей Зайцев, Дмитрий Нестерук, JetBrains — Инструменты командной разработки
  2. Николай Чашников — Поддержка Java 8 в IntelliJ IDEA
  3. Андрей Солнцев — Eclipse vs Intellij IDEA
  4. Николай Чашников — IntelliJ IDEA изнутри
  5. Дмитрий Найданов — Play Framework 2.0 в IntelliJ IDEA
  6. Николай Чашников — Компилятор Java и IDE: взаимовыгодное сотрудничество
  7. Андрей Чепцов, Барух Садогурский, Антон Архипов — Круглый стол. Инструменты Java-разработчика
  8. Александр (Шура) Ильин — Анализ покрытия с помощью JCov
  9. Антон Архипов — JRebel - инструмент, который позволяет «на лету» перезагружать классы, измененные с момента развёртывания приложения.,
  10. Барух Садогурский — Разработка модулярного софта: добро пожаловать в АД!
  11. Alexey Alexandrov - All inclusive Jeastic PaaS - описание платформы для облачных вычислений
  12. Baruch Sadogurskii - Managing Modular Software for your NuGet, C++ and Java Development
  13. Philip Torchinsky - Интеграция баг-трекера и сервера CI с IntelliJ IDEA
  14. ladimir Kozhaev - How to write IDE for your DSL in one day
  15. Евгений Борисов — Power of Gradle
  16. Sergey Morenets - Gradle 2. Write once, build everywhere - внимание: видео на украинском языке

2.2 Отладка, профилирование, мониторинг

  1. Алексей Рагозин — Непрерывное профилирование Java-приложений в ходе эксплуатации
  2. Андрей Паньгин, Одноклассники — Лучший отладчик — сделанный своими руками
  3. Владимир Ситников — Профайлер в каждый дом
  4. Владимир Красильщик — Мониторинг Java-приложения с многопроцессной архитектурой
  5. Виталий Трифанов и Дмитрий Цителов — Динамическое обнаружение гонок в многопоточных Java-программах
  6. Андрей Паньгин — Лучший отладчик — сделанный своими руками
  7. Андрей Паньгин — Аварийный дамп — черный ящик упавшей JVM
  8. Андрей Паньгин — Анализ аварийных дампов JVM, часть 2
  9. Андрей Паньгин — Анализ аварийных дампов JVM, часть 1
  10. Александр Отенко — О чём молчит профайлер
  11. Андрей Паньгин — Аварийный дамп — «черный ящик» JVM
  12. Алексей Рагозин - Диагностические интерфейсы JVM, или Как сделать профайлер своими руками
  13. Владимир Воскресенский — Практическое применение OSS для анализа Java-приложений — Использование Oracle Solaris Studio для анализа высокопроизводительных Java-приложений
  14. Алексей Шипилёв — (The Art of) (Java) Performance Benchmarking II

**3\. Особенности разных языков JVM и версий Java**

3.1 Groovy и Grails

  1. Барух Садогурский, Евгений Борисов — Эпичные Groovy Puzzlers — Месть Скобок
  2. Барух Садогурский и Евгений Борисов — Groovy Puzzlers
  3. Барух Садогурский и Евгений Борисов — Groovy Puzzlers - Странное, Непонятное и Мамочки-а-это-что-такое?!
  4. Евгений Борисов — Марлезонский балет по Groovy в трех частях
  5. Барух Садогурский — Метапрограммирование на уровне компилятора в Groovy
  6. Барух Садогурский — Groovy DSL для plugin-ов: расширения человеческим языком
  7. Барух Садогурский — Транcформации Абстрактного Синтаксического Дерева в Груви. ЩИТО?!
  8. Izzet Mustafaiev - Groovy MOPping - принципы построения DSL на groovy
  9. Baruch Sadogursky - Search for the Holy Grail (and test it once found) - какие решения для поиска существуют в Grail и какие решения для тестирования существуют в Grails

3.2 Clojure

  1. Николай Рыжиков — Clojure: интерактивная разработка для интерактивного веб
  2. Maurice Naftalin — Closures and Collections: the World After Eight
  3. Dmitriy Morozov - ETL all the things! - использование ETL (Extract, transform, load) в Clojure, как можно использовать Spark c Clojure,
  4. Misha Kozik - DSL in Clojure - использование Clojure для написания DSL,

3.3 Kotlin

  1. Андрей Бреслав — Type-safe Web with Kotlin
  2. Андрей Бреслав — Project Kotlin
  3. Евгений Геращенко — Kotlin, язык программирования для JVM
  4. — Язык программирования Kotlin

3.4 Java Embedded и IoT

  1. Александр Белокрылов, Александр Мироненко, Oracle — Восстание машин: в энтерпрайз с 256 КБ RAM
  2. Белокрылов, Мироненко — Силовая установка c сердцем из Raspberry Pi и мозгом на Java Embedded
  3. Александр Белокрылов и Александр Мироненко — Java Embedded у вас дома
  4. Александр Мироненко и Александр Белокрылов — Java Embedded у вас дома
  5. Лев Прийма — Java SE Embedded 8
  6. Александр Белокрылов и Александр Мироненко — Полноценный Java runtime, 256Kb RAM и 5 литров пива
  7. — Java ME Embedded: проверенные технологии на перспективных рынках
  8. Yakov Fain - RESTful services and OAUTH protocol in IoT

3.5 Java EE 7

  1. Markus Eisele — 50 Best Features of Java EE 7

3.6 Java 8, лямбды и Stream Api

  1. Сергей Куксенко — Я, лямбда
  2. Сергей Куксенко — JDK 8: Молот лямбд
  3. Сергей Куксенко и Алексей Шипилёв — Через тернии к лямбдам, часть 1
  4. Владимир Иванов — Java 8 и JVM: что нового в HotSpot
  5. Сергей Куксенко — Java 8: Advanced Stream Techniques
  6. Дмитрий Козорез — Java 8 Time API
  7. Владимир Иванов — Java 8: что нового в HotSpot JVM?
  8. Maurice Naftalin — What's New in Java 8
  9. Александр Ильин — Type annotations in Java 8. И почему это хорошо
  10. Сергей Куксенко и Алексей Шипилёв — Через тернии к лямбдам, часть 2
  11. Сергей Куксенко и Алексей Шипилёв — Через тернии к лямбдам, часть 1
  12. Сергей Куксенко — Stream API, часть 2
  13. Сергей Куксенко — Stream API, часть 1
  14. Сергей Куксенко — JDK8: Stream style
  15. Алексей Фёдоров — Компромиссы в Java 8 с примерами и картинками
  16. Александр Белокрылов — Знакомьтесь, Java 8
  17. Дмитрий Козорез — Долгий путь к Лямбдам
  18. Соколов Михаил — Java 8: лямбда выражения и Stream API
  19. Oleg Tsal-Tsalko - Java 8 Date&Time benefits
  20. Oleg Tsal-Tsalko - Java 8 Lambdas Hands-On-Labs
  21. Pavel Grushetzky - Java for hipsters and rocks stars
  22. Oleg Tsal-Tsalko - 10+ new features you ought to know using Java 8

3.7 Java 9+ и будущее Java

  1. Иван Крылов, Владимир Иванов, Volker Simonis, Никита Липский — Круглый стол. Будущее Java-платформы
  2. Владимир Иванов — Future of Java: 9 and beyond
  3. Владимир Иванов — Платформа Java: прошлое и будущее
  4. Шура Ильин — Project Jigsaw. Take 2
  5. Александр Белокрылов, Oracle — Java: эволюция неизбежна
  6. Аня Барски — Java Life Story
  7. Olena Syrota, Oleg Tsal-Tsalko - Standard Java JSON binding. When? - описание существующих библиотек работы с JSON, их особенностей и проблем, ожидание стандартного JSON'a в Java 9

**4\. Фреймворки Java**

4.1 Spring

  1. Барух Садогурский, Евгений Борисов — Spring Puzzlers — Начало
  2. Евгений Борисов — Spring Data? Да, та!
  3. Барух Садогурский, Евгений Борисов, Николай Алименков — Зачем у Spring столько конфигураций?
  4. Евгений Борисов — Spring the Ripper
  5. Евгений Борисов — Spring-потрошитель, часть 2
  6. Евгений Борисов — Spring-потрошитель, часть 1
  7. Евгений Борисов — Spring 4.0: новое поколение
  8. Владимир Сонькин — Использование Spring 4 и AngularJS для разработки веб-приложений на базе архитектуры REST
  9. Меркурьев Евгений — Весна идет, весне - дорогу! Новое в Spring Framework
  10. Artem Bilan - Spring and Messaging: The next development generation
  11. Vladimir Tsukur - From CRUD to Hypermedia APIs with Spring
  12. Igor Khotin - App infrastructure for microservices with Spring Cloud 1.0.0 - микросервисы, cloud, Spring и DevOps,
  13. Sergey Morenets - Spring Boot. Boot up your development - описание фреймворка Spring Boot, почему данный фреймворк позволяет создавать приложения намного быстрее,

4.2 Вебфреймворки (JavaFX, Javascript, AngularJS и т.п.)

  1. Сергей Гринёв — JavaFX: FXML и SceneBuilder
  2. Артём Ананьев — Неформально о JavaFX
  3. Дмитрий Кузовец — FXML и SceneBuilder: отделяем пользовательский интерфейс от логики в JavaFX
  4. Павел Нестеренко — Java + JavaScript: переходи на мобильную сторону
  5. Евгений Родин — Асинхронная обработка данных в web-приложениях на Java
  6. Евгений Родин — Разработка веб-сайтов средствами Java (на примере простого сайта) - примеры разработки вебсайта с использованием mysql, tomcat и т.п. технологий
  7. Соколов Дмитрий — Как выбрать библиотеки для современного Web-приложение на Java
  8. Владимир Сонькин — Использование AJAX в разработке web-приложений на Java
  9. Александор Дворецкий — Как подготовиться к созданию нагруженных сайтов
  10. Владимир Сонькин — Использование Spring 4 и AngularJS для разработки веб-приложений на базе архитектуры REST
  11. Victor Polischuk - Web-application I have always dreamt of
  12. Nikita Lipsky - Delivering Native User Experience in Client-Side Java Applications - нативные клиенты для работы с вебом вместо браузерного веба (от мобильных до десктопных приложений),
  13. Olga Semeniuk - Less JS! Web components for back-end developers - введение в веб компоненты для бакенд разработчиков

4.3 Прочие фреймворки и популярные библиотеки

  1. Цытович Павел — Основы разработки приложения на платформе Android
  2. Андрей Шевченко — Генерация больших отчетов с использованием Jasper Reports
  3. Владимир Красильщик — Java-mapping для прагматичных программистов - использования библиотек и фреймворктов для mapping'а (dozer, spring type converter api, nomin, scala dsl, transmorf и т.д.)
  4. Andrii Golovei - Highly available and scalable application for dummies with Storm - Storm фреймворк для машинного обучения, высокопроизводительных вычислений

**5\. Базы данных, поисковые системы и BigData**

5.1 NoSql и кеши

  1. Олег Анастасьев — За гранью NoSQL: NewSQL на Cassandra
  2. Алексей Зиновьев — Мама, я так хочу Hibernate для NoSQL, ну или что там у вас есть на примете
  3. Яков Жданов — In-memory accelerator for MongoDB
  4. Олег Анастасьев — Класс!ная Cassandra
  5. Роман Антипин — Франкенштейнизация Voldemort, или Key-Value данные в «Одноклассниках»
  6. Яков Жданов — От дисковой архитектуры к In-Memory
  7. Алексей Рагозин — Блеск и нищета распределенных кешей
  8. Alexey Tokar — MongoDB в продакшене - миф или реальность?
  9. Artem Orobets - How do you store your data?
  10. Roman Nikitchenko - Big Data: from mammoth to elephant – transforming legacy with Hadoop - как преобразовать легаси проекты в новые Big Data приложений с современным стеком технологий,

5.2 Sql базы данных и JPA

  1. Николай Алименков — Босиком по граблям Hibernate
  2. Яков Сироткин, Sidenis — Миграция с PL/SQL на Java

5.3 Поисковые системы

  1. Михаил Хлуднев — В поисках Tommy Hilfiger - о Apache Lucene, свободной библиотеки для высокоскоростного полнотекстового поиска, о разных системах поиска,
  2. Alexey Tokar - To find a needle in a haystack - о нечетком поиске в словарях от разработчика Яндекса

5.4 BigData, Data Scientist, Машинное обучение

  1. Алексей Зиновьев — Java в качестве основного рабочего инструмента Data Scientist
  2. Roman Nikitchenko - Apache HBase: crazy dances on the elephant back
  3. Serhiy Masyutin - Big Data Analysis - внимание на украинском языке
  4. Boris Trofimov - Scalding Big Data: Thorns and Roses,
  5. Taras Matyashovskyy - Introduction to Real-Time Big Data with Apache Spark - внимание на украинском языке
  6. Serhiy Masyutin - Big Data analysis approaches in Java world - что такое Big Data, технология Map-Reduce и примеры проектов
  7. Kyrylo Holodnov - Scaling a solution of an NP-hard problem with Apache ZooKeeper - о Apache ZooKeeper, как с работать и решать различные задачи,
  8. Andrii Golovei - Elastic stack in BigData - использование полнотексового поиска в BigData используя решения компании Elastic (Elastic Search)

**6\. Особенности языка Java**

6.1 Cериализации

  1. Роман Елизаров — Факты и заблуждения о Java-сериализации
  2. Olena Syrota, Oleg Tsal-Tsalko - Standard Java JSON binding. When? - описание существующих библиотек работы с JSON, их особенностей и проблем, ожидание стандартного JSON'a в Java 9

6.2 Работа с байткодом, java agent'ы, class loader и компиляции на лету

  1. Антон Архипов, ZeroTurnaround — Javassist на службе у Java-разработчика
  2. Никита Липский — Ahead-of-time компиляция
  3. Антон Архипов — Java-агенты, Instrumentation API и Javassist
  4. Антон Архипов — Загрузчики классов в Java: коллекция граблей
  5. Владимир Иванов — Динамическая (JIT) компиляция в JVM
  6. Дмитрий Завалишин — Конвертер байткода JVM для виртуальной машины Фантом

6.3 Aсинхронность и многопоточность

  1. Барух Садогурский — Как написать асинхронные многопоточные HTTP приложения
  2. Алексей Шипилёв — ForkJoinPool в Java 8
  3. Николай Алименков — Прикладная многопоточность
  4. Дмитрий Чуйко, Oracle — CompletableFuture уже здесь
  5. Глеб Смирнов — Расчленяя многопоточность
  6. Алексей Шипилёв — Прагматика Java Memory Model
  7. Глеб Смирнов — Многопоточность Java под капотом
  8. Роман Елизаров — Теоретический минимум для понимания Java Memory Model
  9. Дмитрий Чуйко — Новинки в java.util.concurrent
  10. Алексей Шипилёв — Bulletproof Java Concurrency
  11. Сергей Куксенко — Модель памяти
  12. Руслан Черёмин — Модель памяти Java: близкие контакты третьей степени
  13. Alexey Fyodorov - Atomics, CAS, and Nonblocking Algorithms - вопросы многозадачности, атомики, неблокирующие алгоритмы, CAS и т.п.
  14. Mikalai Alimenkou - Java Concurrency Applied - примеры практических решений про многозадачность

6.4 Интеграция

  1. Николай Алименков — Нужен ли нам JMS в мире современных Java-технологий?
  2. Яков Файн, Farata Systems — RESTful-сервисы и протокол OAuth в IoT
  3. Александр Белоцерковский — Windows Azure + Java = Open Integration
  4. Вадим Цесько — Фреймворк Akka и его использование в Яндексе
  5. Vladimir Tsukur — Вместе веcело шагать с HATEOAS! - разработка Web Api,
  6. Максим Юнусов — "Масштабируемое приложение за 15 минут (используем AKKA под Java)
  7. Вячеслав Лапин — Слабая связанность Java-сервера и web-интерфейса посредством REST API

6.5 Безопасность, Java Security Model и т.д.

  1. Михаил Дударев — Побег из песочницы. Уязвимости нулевого дня в Java
  2. Михаил Дударев — USS «Enterprise» - сквозь черные дыры безопасности Java Web-контейнеров
  3. Михаил Дударев — Опасные типы, или Java Security Model на практике

6.6 Виртуальная машина Java и особенности реализации JVM

  1. Андрей Паньгин — Java Runtime: повседневные обязанности виртуальной машины Java
  2. Олег Плисс — Виртуальные машины. Часть 1
  3. Олег Плисс — Виртуальные машины. Часть 2
  4. Олег Плисс — Виртуальные машины. Часть 3
  5. Олег Плисс — Виртуальные машины. Часть 4
  6. Артём Ананьев — Проект OpenJDK
  7. Андрей Бреслав — Компромиссы в разработке языков программирования
  8. Андрей Бреслав — Компромиссы, или Как проектируются языки программирования
  9. Никита Липский и Павел Павлов — Excelsior JET: внутренняя архитектура- описание быстрой JVM реализации Excelsior JET с компиляцией в машинный код,
  10. [Никита Липский и Павел Павлов — Excelsior JET: обзор возможностей](https://www.youtube.com/watch?v=G9Oj3e1XC