πŸ“œ ⬆️ ⬇️

Java Programmer Cheat Sheet 6. List of useful links for a Java programmer

Good afternoon, this article is about my opensource pet project on github'e useful-java-links , in which I gathered a large number of links to useful open (and some closed) projects. This project exists in two languages ​​at once Russian and English , which are complete duplicates of each other (except for the absence of references to Russian-language resources in the English version).


image


This project is a fork of such a project as awesome-java , plus all non-mobile github projects with more than 390 stars (what is described in this article ), all top-level Apache projects, a number of other links, plus links to Russian-language videos from of this article . In general, the number of useful links is approximately two times more than in awesome-java . There is a strict section structure, information about licenses and the possibility of using this license in a closed product (that is, copyleft severity and the possibility of linking with closed projects) and the number of stars gained by each project are immediately given.


I would be very grateful for any corrections and additions to this compilation (you can add both in the comments to the article, and just on github'e ). And for help in distributing references to this project both among Russian-speaking and English-speaking ones (since the English version is completely analogous to the Russian one). This article gives all the links, but the updated version will still be on github'e .





I. Framework and Libraries



1. General frameworks and libraries


To the table of contents


  1. Spring framework Spring is probably the most common Java framework in the world. License: Apache 2 , github rating - 5921, on stackoverflow - more than 100 thousand questions . Can be used in commercial proprietary software.
  2. Google Guava A very popular library from Google that extends JDK features, including adding new collections, adding functional programming elements to Java, caching, primitive functions, libraries for working with multithreading, annotations, strings, I / O, etc. . Works with JDK1.6 and higher .. License: Apache 2 , github rating is 3813. The license is compatible with closed software.
  3. Apache Commons - Implements various functions, such as configuring, validating, collections, downloading files or working with XML. License: Apache 2 The license is compatible with closed software.
  4. Spring Boot is a system for quickly creating configurations from type templates (orm, DI, Spring MVC, etc. configuration templates). License: Apache 2 , github's rating is 2386. The license is compatible with closed software.
  5. Lombok Very hot add-ons for the Java programming language. A code generator whose purpose is to reduce the implementation of a routine code. License: MIT , github rating - 1540. The license is compatible with closed software.
  6. Puniverse Quasar Quasar is a library that adds Fibers (high-performance lightweight threads), Go-like channels and Erlang-like actors to the JVM. License: Eclipse Public v1.0 / GNU Lesser 3 , github rating - 1091. The license is compatible with closed software.
  7. Rootbeer GPU Compiler Rootbeer GPU Compiler - programming using a GPU in Java. License: MIT , github's rating is 972. Can be used in commercial proprietary software.
  8. Oblac Jodd Jodd is a set of Java tools and a micro framework, compact but powerful. Jodd = tools + ioc + mvc + db + aop + tx + json + html <1.5 Mb. License: BSD 2 , github's rating is 912. Can be used in commercial proprietary software.
  9. Google Jimfs Jimfs is an in-memory file system for Java 7 and higher, implementing the abstract file system API, described in java.nio.file ... License: Apache 2 , github rating is 752. The license is compatible with closed software.
  10. Spring batch Spring Batch is a lightweight, comprehensive framework designed to develop robust batch applications that are vital for the daily operations of corporate systems ... License: Apache 2 , github rating - 448. Can be used in commercial proprietary software.
  11. Greenrobot common greenrobot-common - a small library that adds common utilities and classes (for example, classes for working with stream-based IO, files, strings, date / time, and hash map / hash set with primitive types) for Android and Java projects .. License: Apache 2 , rated github'a - 419. Can be used in commercial proprietary software.
  12. Kilim Lightweight streams for Java with messaging, nio, http and schedule support. License: MIT , github rating - 517. The license is compatible with closed software.
  13. Apache Isis Apache Isis is a framework for developing rapidly developing domain-driven applications in in Java. License: Apache 2 . Can be used in commercial proprietary software.
  14. Apache Zest Apache Zest is a framework for developing Composite Oriented Programming for domain centric applications. This concept includes concepts such as: Aspect Oriented Programming, Dependency Injection, and Domain Driven Design. License: Apache 2 . Can be used in commercial proprietary software.

2. Web Frameworks



Web Frameworks


Web frameworks are used to implement web applications and handle the interaction of service-side and frontend-side web applications.
To the table of contents


  1. Play Framework Play Framework makes it easy to develop extensible web applications in Java and Scala. https://www.playframework.com/ . License: Apache 2 , github's rating is 6771. The license is compatible with closed software.
  2. Spark A framework inspired by the Sinatra framework for java. License: Apache 2 , github rating - 2596. Can be used in commercial proprietary software.
  3. Atmosphere is a framework for developing client and server parts of asynchronous web applications that support different servers, browsers and plugins. License: CDDL1 / Apache 2 , github rating is 2235. The license is compatible with closed software.
  4. Grails is a web framework. https://grails.org/ License: Apache 2 , github rating is 1386. The license is compatible with closed software.
  5. Ninja is a full-fledged web framework for Java. Reliable, fast and very productive. http://www.ninjaframework.org/ . License: Apache 2 , github rating - 894. The license is compatible with closed software.
  6. Electronicarts Orbit is a modern framework for JVM languages ​​that simplifies the creation and maintenance of distributed and scalable online services. License: BSD 3 , github's rating is 741. The license is compatible with closed software.
  7. Ratpack is a simple, powerful set of libraries for creating high-performance web applications. http://ratpack.io/ License: Apache 2 , github's rating is 662. The license is compatible with closed software.
  8. Vaadin is a web application development framework based on GWT, with a server-side programming model and state of the UI on the server. https://vaadin.com/ License: Apache 2 , github rating is 398. The license is compatible with closed software.
  9. ZK framework Java framework for creating high-performance web and mobile applications ... License: GNU Lesser , github rating - 161. The license is compatible with closed software.
  10. Apache Tapestry - Component-oriented framework for creating dynamic, reliable, easily scaled web applications, License: Apache 2 . The license is compatible with closed software.
  11. Apache Wicket - Component-oriented web framework similar to Tapestry with a stateful GUI. License: Apache 2 . The license is compatible with closed software.
  12. Google Web Toolkit - A development toolkit that includes a compiler from Java code in JavaScript to create browser code, an XML parser, an API for RPC, integration with JUnit, support for different languages ​​and locales, and widgets for creating a GUI, License: Apache 2 . The license is compatible with closed software.
  13. Pippo - Small, modular Sinatra-like microform, License: Apache 2 . The license is compatible with closed software.
  14. Spring MVC - Provides many different possibilities for developing web applications from dependency injection to aspect-oriented programming and security support License: Apache 2 . The license is compatible with closed software.
  15. JavaServer Faces - Oracle Open JSF Standard License: GNU 2 or CDDL 1.0 Non-licensed software license
  16. JavaServer Pages - Popular Java template technology for creating custom tagging websites. License: GNU 2 or CDDL 1.0 Non-licensed software license
  17. Apache Cocoon Separation of concerns and component-based webframe. License: Apache 2 . The license is compatible with closed software.
  18. Apache Struts Apache Struts is an open source framework for building Java web applications. License: Apache 2 . The license is compatible with closed software.
  19. Apache Sling An innovative JCR and OSGi based web framework. License: Apache 2 . The license is compatible with closed software.
  20. Apache MyFaces The first open source JavaServer implementation. License: Apache 2 . The license is compatible with closed software.
  21. Apache Pivot Apache Pivot is an open platform for creating installable Internet applications (IIAs) [another name for rich Internet application]. License: Apache 2 . The license is compatible with closed software.
  22. Apache Turbine Turbine is a servlet-based framework that allows Java developers to quickly develop web applications. License: Apache 2 . The license is compatible with closed software.
  23. Apache OODT Apache OODT is a component web framework. License: Apache 2 . The license is compatible with closed software.


Web development libraries


  1. Tobie ua-parser is a multi-language porting library for the parser of the user agent parameters of the browser. License: Apache 2 / MIT / Perl, github's rating is 1497. The license is compatible with closed software.
  2. Ghost Driver is an implementation of the Remote WebDriver Wire protocol that uses the PhantomJS as a backend. License: BSD 2 , github rating - 1179. The license is compatible with closed software.
  3. B3log Solo is a blog management system for Java. License: Apache 2 , github rating - 519. The license is compatible with closed software.
  4. Baasbox is a project for creating backend for mobile and web applications. License:?, Github'a rating - 499.
  5. Kolorobot Spring MVC 4 Quickstart Maven Archetype - a template project (architek) for Maven to quickly create Spring MVC 4 web application projects. Contains Spring MVC 4, Servlet 3.0, Thymeleaf, Bootstrap, JPA 2.0, MongoDB, JUnit / Mockito, Spring Security 3.2. License:?, Github'a rating - 480.
  6. Gargl - Generic API Recorder and Generator Lite (pronounced "Gargle") - a tool for automating any website, allows you to record any requests to the site and turn them into reusable code in any programming language. License: MIT , github rating - 462. The license is compatible with closed software.
  7. Liferay plugins - a set of plugins for Liferay portal. License: GNU Lesser 2.1 , github's rating is 444. The license is compatible with closed software.
  8. Netflix Ribbon is a library for creating load balancers. License: Apache 2 , github's rating is 410. The license is compatible with closed software.
  9. Gwt bootstrap is a library that combines widgets from Twitter Bootstrap and Google Web Toolkit features. License: Apache 2 , github rating - 409. The license is compatible with closed software.
  10. Netflix Zuul is a service (edge ​​service) that processes all requests from all devices and websites to the backend of all Netflix streaming applications, it provides dynamic routing, monitoring, fault tolerance and security ... License: Apache 2 , github's rating - 407. The license is compatible with closed software.
  11. PrimeFaces is a JSF framework that has both a free and commercial version with full support. Provides multiple frontend components, License: Apache 2 . The license is compatible with closed software.
  12. Spring Boot - Microframe to simplify the development of new Spring applications, License: Apache 2 . The license is compatible with closed software.
  13. CSSEmbed is a small program / library for automatically adding URIs to CSS files. License: MIT , github rating - 407. The license is compatible with closed software.
  14. Athou commafeed RSS reader based on Dropwizard and AngularJS, inspired by Google Reader. License: Apache 2 , github rating - 1226. The license is compatible with closed software.
  15. Apache Any23 Anything To Triples (Any23) is a library, web service, and console tool for displaying various data from the web in RDF format. License: Apache 2 . The license is compatible with closed software.
  16. Apache Forrest Apache Forrest is a framework for representing data from different formats. License: Apache 2 . The license is compatible with closed software.


Template engine


Tools for replacing expressions in templates with real data.


  1. Apache Velocity - Works with templates for generating HTML pages, emails or even code generation in general. License: Apache 2 . The license is compatible with closed software.
  2. Apache FreeMarker - A library of subdecks universal templates without heavy or tangled dependencies to other libraries, License: Apache 2 . The license is compatible with closed software.
  3. Handlebars.java - Semantically similar to Mustache templates, but with less business logia in templates, License: Apache 2 . The license is compatible with closed software.
  4. Thymeleaf - Aim to replace JSP and work with XML files in general, License: Apache 2 . The license is compatible with closed software.
  5. Mustache.java - Porting Mustache.js (a system for creating and using web templates with minimal business logic) for Java. License: Apache 2 , github's rating is 733. The license is compatible with closed software.
  6. Handlebars.java is porting Handlebars to Java, the Handlebars Mustache template system. License: Apache 2 , github's rating is 451. The license is compatible with closed software.
  7. Apache Tiles Apache Tiles is a templating framework that simplifies web application development. License: Apache 2 , github's rating is 451. The license is compatible with closed software.


CMS and content management


  1. Apache Stanbol Software components for semantic content management. License: Apache 2 , github's rating is 451. The license is compatible with closed software.
  2. Apache JSPWiki Wiki engine on standard J2EE components (Java, servlets, JSP). License: Apache 2 , github's rating is 451. The license is compatible with closed software.
  3. Apache Portals Engine to create a reliable, fully functional portal for different platforms and programming language. License: Apache 2 . The license is compatible with closed software.
  4. Apache Roller Apache Roller is a fully functional, multi-user blog engine and server, suitable for a variety of blog sites. License: Apache 2 , github's rating is 451. The license is compatible with closed software.
  5. Apache Chemistry Apache Chemistry is an open source implementation of the Content Management Interoperability Services (CMIS) specification for exchanging data between different CMS. License: Apache 2 . The license is compatible with closed software.


3. Creating a GUI


Libraries for creating user interface (except web)


  1. JavaFX - Swing Assignee, License: Oracle, proprietary . Proprietary license
  2. Scene Builder - A Visual GUI Development Tool for JavaFX Applications License: Oracle, proprietary . Proprietary license
  3. SWT - The Standard Widget Toolkit (SWT) is a collection of tools and tools for creating graphic widgets in the Java platform, License: Eclipse Public License v1.0 . Can be used in commercial proprietary software.
  4. Lanterna - A lightweight library that implements a console-text GUI, similar to curses, License: LGPL 2.1 . Can be used in commercial proprietary software.
  5. Gephi - Cross -platform system for visualizing, modifying and managing large graphs, License: GNU 3 or CDDL 1.0 Non-licensed software license


4. Creating business applications


Framework and libraries for building business applications in Java
To the table of contents


  1. Codecademy EventHub - allows you to analyze business events to get KPI, conversion rate, etc. Business event metrics. License: MIT , github's rating is 1043. The license is compatible with closed software.
  2. Killbill is a free billing and payment platform. License: Apache 2 , github's rating is 902. The license is compatible with closed software.
  3. Activiti is a lightweight Business Process Management (BPM) Platform. License: Apache 2 , github rating - 861. The license is compatible with closed software.
  4. Liferay Portal is a free web platform for building business applications. License: GNU Lesser 2.1 , github's rating is 739. The license is compatible with closed software.
  5. Broadleaf Commerce - eCommerce framework for large enterprises based on Spring. License: Apache 2 , github's rating is 518. The license is compatible with closed software.
  6. Droolsjbpm Drools is a Business Rules Management System (BRMS) application that implements the Business Rules Engine (BRE), authorization mechanism, rules management, application management (Drools Workbench) and a development plug-in for Eclipse IDE ... License: Apache 2 , rating github'a - 421. The license is compatible with closed software.
  7. Spring Roo is an open source framework for quickly building business applications in Java. The resulting applications use common Java technologies such as the Spring Framework, the Java Persistence API, JSP, Apache Maven, and AspectJ. Spring Roo is part of the Spring project ... License: Apache 2 , github's rating is 399. The license is compatible with closed software.
  8. Apache OFBiz Apache OFBiz (The Apache Open For Business Project) is an open and free framework for automating business processes of large enterprises, includes ERP components (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 . business friendly license
  9. Apache Portals Engine to create a reliable, fully functional portal for different platforms and programming language. License: Apache 2 . The license is compatible with closed software.
  10. Apache ODE Apache ODE is an implementation of the WS-BPEL specification that allows you to describe business processes and web services for creating enterprise applications. License: Apache 2 . The license is compatible with closed software.


5. Game frameworks (Game Development)


To the table of contents


  1. libgdx Cross- platform framework for developing games based on OpenGL (ES), runs under Windows, Linux, Mac OS X, Android, iOS and in browsers with WebGL. . License: Apache 2 , github's rating is 6579. The license is compatible with closed software.
  2. Disunity Experimental toolkit for Unity asset and asset bundle files. License: unlicense.org , github 's rating is 828.
    The license is compatible with closed software.
  3. LibGDX / LWJGL lwjgl-basics is a minimalist shader-based library for creating 2D LWJGL sprite games. https://libgdx.badlogicgames.com/ . License:?, Github'a rating - 656.
  4. jMonkeyEngine jMonkeyEngine is a 3D game engine for Java developers. http://jmonkeyengine.org/ License: BSD 3 , github rating is 624. The license is compatible with closed software.
  5. Jetserver Jetserver is a high-speed nio socket Java server for multiplayer games created using Netty and Mike Rettig Jetlang. License: MIT , github rating - 484. The license is compatible with closed software.
  6. LWJGL 2.X LWJGL 2.X - Lightweight Java gaming library. http://www.lwjgl.org/ License: BSD 3 , github rating is 394. The license is compatible with closed software.
  7. Ardor3D is a 3D game engine built on jMonkeyEngine 2.0.
    License: zlib . The license is compatible with closed software.
  8. DimensioneX Multiplayer Engine - Pseudo-3D browser game engine. Famous games: Underworld Online. License: GPL Non-licensed software license
  9. PlayN Game framework for Java running on Windows, Linux, HTML5, Android and iOS. Famous games: Angry Birds Chrome. License: Apache 2.0 . github star - 97. The license is compatible with closed software.
  10. Env3D is a 3D game engine built on jMonkeyEngine 2.0. License: GPL Non-licensed software license
  11. Jake2 Java port of Quake II game engine. License: GPL Non-licensed software license
  12. Jogre - JOGRE (Java Online Gaming Real-time Engine) is an open, online, real-time engine with a Java-only API. License: GPL Non-licensed software license
  13. Elflight Engine is a paid engine for web games. License: Proprietary proprietary license


6. Useful Libraries


To the table of contents



Collections, data structures and methods of working with them


  1. Google Guava A very popular library from Google that extends the capabilities of the JDK, including adding new collections and methods of working with them. Works with JDK1.6 and higher .. License: Apache 2 , github rating is 3813. The license is compatible with closed software.
  2. Apache Commons Collections - Implements various additional collections and methods of working with them. License: Apache 2 The license is compatible with closed software.
  3. Gs collections Addition or replacement of standard Java collections and methods working with collections. Renamed to Eclipse Collections. License: Apache 2 , github's rating is 1201. The license is compatible with closed software.
  4. Eclipse Collections (past Gs collections). Addition or replacement of standard Java collections and methods working with collections. License: Eclipse Public 1.0. , github's rating is 1201. The license is compatible with closed software.
  5. javatuples - Tuples, License: Apache 2 The license is compatible with closed software.
  6. Immutables - Add Scala-like Classes, License: Apache 2 The license is compatible with closed software.
  7. OpenHFT Chronicle Queue Chronicle Queue works just like a regular Java queue, but each event is saved to the hard disk. License: GNU Lesser 3 .0, github's rating - 440. The license is compatible with closed software.
  8. fastutil - Fast and compact type safe collections, License: Apache 2 . The license is compatible with closed software.
  9. HPPC β€” , : Apache 2 .
  10. Koloboke β€” Hash sets hash maps, : Apache 2 .
  11. Trove β€” , : GNU Lesser 2.1 .


Date and Time




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 injector. : 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


Functional programming


  • , .*

  1. Cyclops β€” , : comprehensions, pattern matching, trampolines , : MIT
  2. derive4j β€” , Java 8 , : deriving algebraic data types constructors, pattern-matching, morphisms ., : GNU 3
  3. Fugue β€” Guava, : Apache 2 .
  4. Functional Java β€” Java. composition-oriented , : BSD 3 , github' β€” 478.
  5. Javaslang β€” persistent functional control , : Apache 2 .
  6. jOOΞ» β€” Java 8, Java 8, Stream API, : Apache 2 .
  7. Retrolambda Java 8 Java 7, 6 5. : Apache 2 , github' β€” 1059.
  8. 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.



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 .. etc. . : 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 - Toolkit and Runtime for Creating Multi-threaded, Distributed, and Error-Resistant Event-Oriented Applications License: Apache 2 . The license is compatible with closed software.
  2. Apache Storm - real-time computing system, License: Apache 2 . The license is compatible with closed software.
  3. Apache ZooKeeper - Coordination Systems for Deploying Configurations, Synchronizing, and Registering Names for Large Distributed Systems, License: Apache 2 . The license is compatible with closed software.
  4. Alibaba Dubbo Dubbo is a framework for developing distributed applications with messaging capabilities, clustering, working with events, subscriptions, and the like with high-performance RPC. License: Apache 2 , github rating - 1917. Can be used in commercial proprietary software.
  5. Netflix Curator Curator Framework is a framework for working with Apache ZooKeeper server. License: Apache 2 , github rating - 1158. Can be used in commercial proprietary software.
  6. Axon Framework - Framework for creating CQRS applications, License: Apache 2 . The license is compatible with closed software.
  7. Hazelcast - Easily expandable in-memory datagrid, License: Apache 2 . The license is compatible with closed software.
  8. Netflix Hystrix - Provides the ability to create systems that are resistant to errors and with minimal response. Library, for correct processing of service failures, exceptions in distributed systems, by adding isolated access points to third-party services and distributed systems to the system, limiting the probability of cascading errors if one of the services fails, etc., github rating is 3571 License: Apache 2 . The license is compatible with closed software.
  9. JGroups - Toolkit for reliable messaging and clustering, License: Apache 2 . The license is compatible with closed software.
  10. Orbit - Virtual Actors (Virtual Actors), adding an additional level of abstraction to traditional actors, License: BSD 3 . The license is compatible with closed software.
  11. Quasar - Lightweight streams and actors (actors) for JVM, License: Eclipse Public License v1.0 or LGPL 3.0 . The license is compatible with closed software.
  12. Storm contrib storm-contrib is a free repository with modules using Storm. They include various spouts / bolts for integration with other systems (Redis, Kafka, MongoDB, etc), and code for solving typical tasks of Storm developers ... License: Eclipse Public 1.0 , github rating - 504. Can be used in commercial proprietary software.
  13. JADE - Framework and ecosystem for developing and debugging multi-agent systems, License: GNU Lesser 2.0 The license is compatible with closed software.
  14. Apache River Apache River is a framework for developing JINI services. License: Apache 2 . The license is compatible with closed software.
  15. Apache Tuscany Apache Tuscany is a framework for developing Service Component Architecture (SCA) applications. License: Apache 2 . The license is compatible with closed software.


10. Science


Libraries for scientific calculations and analysis.
To the table of contents


  1. DataMelt - Environment for scientific calculations, data analysis and visualization, License: GNU 3 . Non-licensed software license
  2. JGraphT - Graphic library that provides an object and algorithms from mathematical graph theory, License: Eclipse Public License or LGPL 2.1 The license is compatible with closed software.
  3. JScience β€” Provides a set of classes for working with scientific dimensions and objects. License: BSD 2 . The license is compatible with closed software.
  4. Michael Thomas Flanagan's Java Scientific Library is a collection of classes and libraries for scientific purposes written by Michael Thomas Flanagan. License: only for non-commercial use, without the right to distribute the source code.


11. OSGI


  1. ACE - distribution framework for OSGi systems and more. License: Apache 2 . The license is compatible with closed software.
  2. Aries This project consists of a set of pluggable Java components for the OSGi model. License: Apache 2 . The license is compatible with closed software.
  3. Felix OSGi framework. License: Apache 2 . The license is compatible with closed software.
  4. Karaf OSGi framework for server applications. License: Apache 2 . The license is compatible with closed software.


Ii. Databases, search engines, Big data and machine learning



1. Databases and repositories


To the table of contents


  1. Thinkaurelius Titan - distributed graphic database. License: Apache 2 , github's rating is 2846. The license is compatible with closed software.
  2. Apache Cassandra - a mirror for Apache Cassandra - a database with high availability and high extensibility and excellent performance. License: Apache 2 , github's rating is 2155. The license is compatible with closed software.
  3. Orientdb is the first database with multiple models and support for both document storage and graphs. License: Apache 2 / CDDL 1 / Eclipse Distribution 1.0, github rating is 1880. The license is compatible with closed software.
  4. Neo4j is one of the most popular graphic databases in the world. License: GNU 3 / GNU AGPLv3 , github's rating is 1787. Non-licensed software license
  5. Mapdb contains multi- threaded implementation of Maps, Sets and Queues, which can be stored on the hard disk or in off-heap-memory. This is a quick and easy way to create an embedded Java database. http://www.mapdb.org/ . License: Apache 2 , github rating - 1484. The license is compatible with closed software.
  6. Voldemort is a free clone of Amazon's Dynamo, distributed key-value storage. License: Apache 2 , github rating - 1480. The license is compatible with closed software.
  7. Amplab Tachyon is a distributed storage, focused on working with RAM and data sharing between clusters. License: Apache 2 , github rating - 1459. The license is compatible with closed software.
  8. Opentsdb is a distributed and scalable time series database (Time Series Database TSDB) running on top of Hbase. License: GNU 3 , github's rating is 1336. Non-licensed software license
  9. Hazelcast Hazelcast free in-memory storage. License: Apache 2 , github rating - 1167. The license is compatible with closed software.
  10. Tinkerpop Blueprints Add Blueprint Property Graph Model Interface to various graphical databases. License: BSD 3 , github rating - 1083. The license is compatible with closed software.
  11. Apache Lucene solr Apache Lucene & Solr mirror - test search engine. License: Apache 2 , github rating - 1069. The license is compatible with closed software.
  12. Java Chronicle Java Indexed Record Chronicle - library, data storage, work with messages and events .. License: Apache 2 , github rating - 970. The license is compatible with closed software.
  13. Torodb ToroDB database. License: GNU AGPLv3 , github's rating is 951. Non-licensed software license
  14. Crate CRATE: Your Elastic Data Store - a distributed system that creates a backend (or cluster) based on nosql databases and free components (Presto, Elasticsearch, Lucene, Netty), implements synchronization, replication, scalability and data separation (data synchronization, sharding, scaling, and replication). We also provide sql similar query language for the cluster. https://crate.io/ . License : Apache 2 , github rating is 925. The license is compatible with closed software.
  15. Linkedin Pinot Linkedin pinot - A real-time distributed OLAP repository used by Linkedin to get real-time analytic data ... License: Apache 2 , github's rating is 854. The license is compatible with closed software.
  16. Solandra Solandra - distributed real-time search engine built on the basis of Apache Solr and Apache Cassandra ... License: Apache 2 , github rating - 808. The license is compatible with closed software.
  17. Voltdb VoltDB is a horizontally scalable in-memory SQL RDBMS database designed for applications that require particularly high database throughput for reading and writing. License: GNU AGPLv3 , github's rating is 586. Non-licensed software license
  18. Leveldb Porting LevelDB to Java. LevelDB is a fast key-value repository developed by Google. License: Apache 2 , github's rating is 525. The license is compatible with closed software.
  19. Kairosdb KairosDB is a fast distributed extensible time series database written on top of Cassandra .. License: Apache 2 , github's rating is 485. The license is compatible with closed software.
  20. Linkedin Sensei Distributed real-time search database. License: Apache 2 , github's rating is 464. The license is compatible with closed software.
  21. Elephantdb A distributed database that specializes in exporting key / value data from Hadoop. License: BSD 3 , github's rating is 464. The license is compatible with closed software.
  22. Apache Drill Apache Drill Mirror. No schema processing SQL queries for Hadoop, NoSQL and cloud services. License: Apache 2 , github's rating is 448. The license is compatible with closed software.
  23. Tinkerpop Rexster is a graphical database server that can transfer any graph data via REST and a binary protocol called RexPro .. License: BSD 3 , github rating is 402. The license is compatible with closed software.
  24. Tomcat redis session manager Redis-based simple session storage for Apache Tomcat. License: MIT , github's rating is 396. The license is compatible with closed software.
  25. Embulk is an open batch (bulk) data loader that helps transform data between different databases, storages, file formats and cloud services. License: Apache 2 , github's rating is 394. The license is compatible with closed software.
  26. H2 - A small SQL database is notable for its in-memory operation. License: Mozilla Public License 1.1. and Eclipse Public License v1.0 . The license is compatible with closed software.
  27. Apache Empire-db Apache Empire-db is a lightweight relational database component. License: Apache 2 . The license is compatible with closed software.
  28. Apache Ignite Apache Ignite is an In-Memory Data Fabric providing in-memory data caching, partitioning, processing, and querying components. License: Apache 2 . The license is compatible with closed software.

Distributed databases.


  1. Apache Cassandra - a mirror for Apache Cassandra - a database with high availability and high extensibility and excellent performance. License: Apache 2 , github's rating is 2155. The license is compatible with closed software.
  2. Apache HBase - Hadoop storage for big data. License: Apache 2 . The license is compatible with closed software.
  3. Druid is a column-oriented repository and real-time processing system for streaming and batch processing and integrated with Samza, Kafka, Storm, and Hadoop. License: Apache 2 , github rating - 1846. The license is compatible with closed software.
  4. Infinispan - High-performance key / value storage used for caching. License: Apache 2 . The license is compatible with closed software.
  5. OpenTSDB is a distributed and scalable time series database (Time Series Database TSDB) running on top of Hbase. License: GNU 3 , github's rating is 1336. Non-licensed software license


2. Data structures


Efficient and specific data structures.


  1. Apache Avro - Data exchange format with features such as: dynamic typing, no need to set the ID manually, untagged data, License: Apache 2 . The license is compatible with closed software.
  2. Apache Orc - Fast and efficient columnar (columnar) data storage format for working with hadoop-based systems. License: Apache 2 . The license is compatible with closed software.
  3. Apache Parquet - a columnar (columnar) data storage format based on the use of algorithms from Google's "Dremel paper" License: Apache 2 . The license is compatible with closed software.
  4. Apache Thrift - Data exchange format created on Facebook, License: Apache 2 . The license is compatible with closed software.
  5. Persistent Collection - Persistent and non-directly equivalent Java Collections Framework License: MIT . The license is compatible with closed software.
  6. Protobuf - Data exchange format offered by Google License: BSD 3 . The license is compatible with closed software.
  7. SBE - Simple Binary Encoding, one of the fastest messaging formats, License: Apache 2 . The license is compatible with closed software.
  8. Wire β€” Clean, lightweight protocol buffers, License: Apache 2 . The license is compatible with closed software.


3. Search engines


To the table of contents


  1. Elasticsearch is one of the most popular distributed cloud search systems. Distributed, multi-tenant (multitenant-capable) full-text search engine with a RESTful web interface that does not require a data scheme, based on JSON documents .. License: Apache 2 , github rating - 11833. The license is compatible with closed software.
  2. Linkedin Indextank Engine The IndexTank project is a search engine that supports features like variables (boosts), categories (facets), offers, autocomplete, etc ... License: Apache 2 , github rating - 788. The license is compatible with closed software.
  3. Apache Solr Apache Solr Mirror. Apache Solr is a search engine based on the Apache Lucene search library, this search engine is optimized for heavily loaded systems .. License: Apache 2 , github rating - 486. The license is compatible with closed software.
  4. Linkedin Cleo Linkedin Cleo is a flexible library for creating smart search hints ... License: Apache 2 , github rating - 478. The license is compatible with closed software.
  5. Elasticsearch cloud aws Plugin to run ElasticSearch with Amazon Web Service (AWS) clouds. License: Apache 2 , github's rating is 435. The license is compatible with closed software.
  6. Elasticsearch analysis ik The IK Analysis plugin for integration with Lucene IK analyzers for elastic search, supporting user dictionaries. License:?, Github's rating is 395.
  7. Apache ManifoldCF is an application for transferring data between repositories and search indexes of different systems. License: Apache 2 , github's rating is 435. The license is compatible with closed software.
  8. Lemur Project Lemur project develops a search engine, text analyzer, browser plugin, includes Indri search engine and ClueWeb09 dataset. License: BSD License The license is compatible with closed software.


4. Clients and database drivers


To the table of contents


  1. Facebook Presto Library for working with distributed SQL queries to big data sources (Cassandra, Hive, Kafka, MySQL, PostgreSQL, etc.). . License: Apache 2 , github's rating is 3603. The license is compatible with closed software.
  2. Jedis Incredibly small and efficient Redis Java client. License: MIT , github rating - 2495. The license is compatible with closed software.
  3. Tinkerpop Gremlin is a language for working with graphs and various graphical databases (graph traversal, graph queries, manipulations, etc.) ... License: BSD 3 , github rating - 1370. The license is compatible with closed software.
  4. Mongodb Java Driver Java client for MongoDB. License: Apache 2 / Creative Commons Attribution, rating github'a - 1276. The license is compatible with closed software.
  5. Yahoo Mysql_perf_analyzer MySQL Performance Analyzer. License: Apache 2 , github's rating is 1082. The license is compatible with closed software.
  6. Airbnb Airpal Web UI for PrestoDB. License: Apache 2 , github's rating is 1074. The license is compatible with closed software.
  7. Mongodb hadoop MongoDB client for integration with Hadoop. License:?, Github rating is 937.
  8. Elasticsearch jdbc JDBC support for Elasticsearch. License: Apache 2 , github rating - 867. The license is compatible with closed software.
  9. Flyway is a database migration tool. http://flywaydb.org/ . License: Apache 2 , github's rating is 851. The license is compatible with closed software.
  10. Elasticsearch river mongodb - MongoDB River Plugin for ElasticSearch, uses MongoDB as a repository for ElasticSearch. License: Apache 2 , github's rating is 794. The license is compatible with closed software.
  11. Netflix Astyanax Cassandra Java client. License: Apache 2 , github's rating is 735. The license is compatible with closed software.
  12. Liquibase Liquibase is a system that allows you to migrate and update databases, generate SQL scripts, change database documentation, refactor, etc. http://www.liquibase.org/ . License: Apache 2 , github's rating is 734. The license is compatible with closed software.
  13. Mongodb Morphia A library for simply serializing Java objects into MongoDB documents. License: Apache 2 , github's rating is 725. The license is compatible with closed software.
  14. Couchdb lucene Full text search for CouchDB documents using Lucene. License: Apache 2 , github's rating is 639. The license is compatible with closed software.
  15. Forcedotcom Phoenix Phoenix is ​​a SQL wrapper over Hbase with a JDBC driver. Phoenix provides a very fast response (within milliseconds), as opposed to batch map / reduce operations. License: BSD 3 , github rating - 507. The license is compatible with closed software.
  16. Variety MongoDB Schema Analyzer. License: MIT , github rating - 505. The license is compatible with closed software.
  17. Redisson Redisson - adds Java data structures (Set, SortedSet, Map, ConcurrentMap, List, Queue, BlockingQueue, Deque, Lock, AtomicLong, CountDownLatch, Publish / Subscribe, HyperLogLog, Redis pipelining) to the Redis server. And is a high-performance and non-blocking Java Redis client. License: Apache 2 , github rating - 483. The license is compatible with closed software.
  18. Netflix Priam Co-Process is a toolkit for working with Cassandra (archiving and recovering, working with tokens, etc.). License: Apache 2 , github's rating is 481. The license is compatible with closed software.
  19. Datastax Java driver Java client for Apache Cassandra and DataStax. License: Apache 2 , github's rating is 480. The license is compatible with closed software.
  20. Memcached Java Client java client for memcached. License: BSD 4 , github rating - 436. The license is compatible with closed software.
  21. Spring data mongodb Java client for MongoDB for the Spring framework. License: Apache 2 , github's rating is 394. The license is compatible with closed software.
  22. Apache Phoenix - High-performance layer for relational databases on top of HBase for systems with minimal response. License: Apache 2 . The license is compatible with closed software.
  23. FlexyPool β€” Adds metrics and failover strategies for the most popular database connect pools. License: Apache 2 . The license is compatible with closed software.
  24. LightAdmin - Easily customizable CRUD UI library for rapid application development. License: Apache 2 . Can be used in commercial proprietary software.


5. Mapping objects into databases (ORM, etc.)


To the table of contents


  1. HikariCP HikariCP is a fast, reliable, and easy-to-use library for creating a JDBC connection pool with minimal overhead. License: Apache 2 , github rating - 1542. The license is compatible with closed software.
  2. Mybatis 3 MyBatis is a framework for mapping Java objects into databases. Connects Java objects with specific stored procedures or sql queries. License: Apache 2 , github rating - 1428. The license is compatible with closed software.
  3. Hibernate orm Hibernate's ORM framework, one of the most popular in Java, is a reliable, proven and widely used framework with a large and active community. http://hibernate.org/orm/ License: GNU Lesser 2.1 , github rating is 1275. The license is compatible with closed software.
  4. JOOQ JOOQ is a solution for simple integration and mapping of Java applications with popular databases such as Oracle, Microsoft SQL Server, IBM DB2, or SAP Sybase. http://www.jooq.org/ . License: Apache 2 , github rating - 830. The license is compatible with closed software.
  5. Querydsl Querydsl is a Java framework allowing you to construct type-safe SQL-like queries for many backends including JPA, MongoDB and SQL. http://www.querydsl.com/ . License: Apache 2 , github's rating is 570. The license is compatible with closed software.
  6. Kundera ORM supports JPA 2.1 specifications for polyglot mapping to various NoSQL repositories. License: Apache 2 , github's rating is 490. The license is compatible with closed software.
  7. Spring data jpa Spring Data Jpa - wraps the Spring framework over JPa providers. : Apache 2 , github' β€” 459.
  8. Jdbi jDBI SQL Java. http://jdbi.org/ .: Apache 2 , github' β€” 458.
  9. ActiveJDBC ActiveJDBC 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]( http://metamodel.apache.org ) 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]( http://metamodel.apache.org ) 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 . : 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 ( , ). : GNU 2 , github' β€” 871.
  2. Apache OpenNLP β€” tokenization, : Apache 2 .
  3. LingPipe β€” POS tagging , : AGPL , . OR
  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 .


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 .


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/ : 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



  1. Alibaba Fastjson JSON . : Apache 2 , github' β€” 2605.
  2. JSON java JSON Java, JSON XML, CDL, cookie lists, HTTP headers … : open-source ?, github' β€” 1561.
  3. Jsonschema2pojo Java JSON ( JSON) data-binding Jackson 1.x or 2.x, Gson . … : Apache 2 , github' β€” 914.
  4. Square Moshi JSON Android Java, Json Java. : Apache 2 , github' β€” 765.
  5. Instagram Ig json parser JSON java . : BSD 3 , github' β€” 730.
  6. FasterXML Jackson core Jackson ("streaming") JSON JSON . : Apache 2 , github' β€” 682.
  7. FasterXML Jackson databind data-binding Jackson (2.x) API Jackson ore. : Apache 2 , github' β€” 640.
  8. Jayway JsonPath Java JsonPath β€” XPATH Json, XML. : Apache 2 , github' β€” 448.
  9. Json schema validator JSON Schema, Java, Json , Json . : GNU Lesser 3 / Apache 2 , github' β€” 411.
  10. Genson - Java / JSON, : Apache 2 .
  11. Gson β€” JSON . , : Apache 2 .
  12. Jackson β€” GSON, , , : Apache 2 .
  13. LoganSquare β€” JSON, Jackson's streaming API. GSON Jackson , : 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 . business friendly license
  4. jOpenDocument β€” OpenDocument , : GNU . OR
  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 . OR
  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 . impossible proprietary code linking license
  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. Testing



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. Spock Spock Java Groovy . : Apache 2 , github' β€” 669.
  6. Google Firing range Google Firing Range - . Firing Range . : Apache 2 , github' β€” 650.
  7. Fitnesse FitNesse , . : CPL-1.0 , github' β€” 618.
  8. Sikuli Sikuli , … : MIT , github' β€” 609.
  9. JavaHamcrest Hamcrest , Java, (assertion matcher), unit , JUnit jMock.. : BSD 3 , github' β€” 561.
  10. Wiremock mock' ( ) HTTP . : Apache 2 , github' β€” 508.
  11. Testng TestNG . : Apache 2 , github' β€” 477.
  12. Galenframework Galen Galen Framework . Selenium . : Apache 2 , github' β€” 449.
  13. AssertJ AssertJ (assertion) . : Apache 2 , github' β€” 423.
  14. Google truth (Assertion/Proposition) Unit ( , ). : Apache 2 , github' β€” 394.
  15. Apache JMeter β€” . : Apache 2 .
  16. Arquillian β€” Java EE , : Apache 2 .
  17. Awaitility β€” DSL , : Apache 2 .
  18. Citrus β€” , - , : Apache 2 .
  19. Cucumber β€” BDD , : MIT .
  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 .


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 is a formal verification tool whose main goals are the integration of design, implementation, formal specification and formal OOP verification as easily as possible. Uses JML for specifications and symbolic execution for verification, License: GNU . Non-licensed software license
  9. OpenJML - Converts JML specifications to SMT-LIB format and finds problems and passes problem descriptions to the backend solver, License: GNU 2 and Eclipse Public License v1.0 . Non-licensed software license


V. Tools to simplify development



1. IDE


To the table of contents


  1. JetBrains Intellij ommunity IntelliJ IDEA Community Edition - one of the best IDE for Java. http://www.jetbrains.com/idea/ License: Apache 2 , github rating is 2068. The license is compatible with closed software.
  2. JetBrains Ideavim Plugin emulating Vim for IDE based on IntelliJ platform. License: GNU 2 , github's rating is 1199. Non-licensed software license
  3. Rstudio RStudio is an IDE for the R. language. License: GNU AGPLv3 , github rating is 1048. Non-licensed software license
  4. Vrapper A plugin for adding a Vim-like editor to Eclipse. License: GNU 3 .0, github's rating is 669. Non-licensed software license
  5. Eclipse themes Jeeeyul's Eclipse Themes (past name Eclipse Chrome Theme) is the ability to customize every detail of Eclipse. License: Eclipse Public 1.0 , github rating - 623. The license is compatible with closed software.
  6. Eclipse color theme Eclipse Color Theme makes it easy to import and conveniently change color themes without side effects. License: Eclipse Public 1.0 , github's rating is 614. The license is compatible with closed software.
  7. Eclim Adding the Eclipse IDE features to the Vim editor. License: GNU 3 , github's rating is 590. Non-licensed software license
  8. JetBrains MPS JetBrains MPS (Meta programming System) is used to quickly develop DSL (Domain Specific Language) for any environment and with the ability to compile DSL into many languages, such as Java, C, XML and others. License: Apache 2 , github's rating is 525. The license is compatible with closed software.
  9. Idea markdown Support for Markdown markup language in IntelliJ IDEA ... License: Apache 2 , github rating - 405. The license is compatible with closed software.
  10. Eclipse - Popular open IDE supporting a large number of plug-ins and programming languages. License: Eclipse Public License v1.0 . The license is compatible with closed software.
  11. NetBeans - IDE supports a large number of different possibilities for developing Java SE and EE applications, from working with a database to working with HTML5, License: GNU 2 or CDDL 1.0 Non-licensed software license


2. Tools and libraries for building, configuring and deploying Java applications


To the table of contents



Build


Tools for building a project (build) and working with dependencies (dependencies) of the application.


  1. Apache Maven - A declarative build and dependency management system that simplifies application configuration. This may be preferable to Apache Ant, which uses a more procedural approach that is more difficult to maintain in most cases. License: Apache 2 , github's rating is 614. The license is compatible with closed software.
  2. Google Bazel - A Google build tool that lets you build code quickly and securely. Correct, repeatable and fast build system for any situation License: Apache 2 , github rating - 2809. The license is compatible with closed software.
  3. Gradle - An incremental build system that uses Groovy instead of XML to configure. Well compatible with Maven configurations. License: Apache 2 , github rating - 2465. The license is compatible with closed software.
  4. Apache Ant - A tool for assembling applications using XML for configuration files, was previously very popular, is now used quite rarely. Sub - projects : Apache AntUnit - ant'a file testing system, Apache Compress Ant Library - additional archive and compression formats, Apache Ivy - dependency management , Apache IvyDE - Ivy plugin for Eclipse. License: Apache 2 . Can be used in commercial proprietary software.
  5. Facebook Buck is a build system that makes it easy to create small, reusable modules. License: Apache 2 , github rating - 1449. The license is compatible with closed software.
  6. Archiva Apache The Build Artifact Repository Manager. Apache Archiva is an extensible repository of build artifacts, ideally compatible with build tools like Maven, Continuum and ANT. License: Apache 2 . Can be used in commercial proprietary software.


Configuration


Configuration Libraries
To the table of contents


  1. config - Configuration library for JVM languages. License: Apache 2 , github's rating is 614. The license is compatible with closed software.
  2. owner - Reducing meaningless sample code for working with properties, License: BSD 3 . The license is compatible with closed software.
  3. Netflix Archaius , a library that implements the configuration management API, is used by Netflix. License: Apache 2 , github's rating is 614. The license is compatible with closed software.
  4. LightAdmin - Easily customizable CRUD UI library for rapid application development. License: Apache 2 . Can be used in commercial proprietary software.
  5. Apache Yetus A collection of libraries and tools for managing contribution and release processes. License: Apache 2 . Can be used in commercial proprietary software.


Distribution


Tools for working with the deployment (distribution) of applications in native formats.
To the table of contents


  1. Bintray - Version control for binary files, can also be used along with Maven or Gradle and has free plans for open source software, as well as a number of different business plans. License: proprietary paid, there is a free version for open products Proprietary license
  2. Capsule is an application build system into one executable JAR file with all artifacts, resources, native libraries, etc. A simple and powerful tool for packaging and deployment. Thick JAR on steroids or "Docker for Java" that supports JVM-optimized containers, github rating is 576. License: Eclipse Public License v1.0 . The license is compatible with closed software.
  3. Central Repository - A huge binary repository of components that is available as a free service for open source projects. Apache Maven is used and is available for all other build tools. License: proprietary Proprietary license
  4. IzPack - A widely used set of tools for multi-platform application deployment (deployments). License: Apache 2 , github's rating is 614. The license is compatible with closed software.
  5. JitPack - An easy-to-use package repository for GitHub. Build Maven / Gradle projects and publish them in ready-to-use packages. License: Apache 2 , github's rating is 614. The license is compatible with closed software.
  6. Launch4j - Converts JARs files to lightweight and native Windows executable files.
    , License: BSD 3 and MIT . The license is compatible with closed software.
  7. Nexus - Recovering binary files with proxy and caching, License: proprietary paid Proprietary license
  8. packr - Convert JARs, assets and JVM to native Windows, Linux and Mac OS X applications License: Apache 2 . The license is compatible with closed software.
  9. Spotify Helios is a Docker orchestration platform for deploying and managing containers using the HTTP API or the command line. License: Apache 2 , github's rating is 952. The license is compatible with closed software.


3. Tools for optimizing performance


Libraries for Optimizing and Solving Performance Problems
To the table of contents


  1. Square Leakcanary utility for finding errors due to which there is a memory leak for Android and Java. License: Apache 2 , github's rating is 4168. The license is compatible with closed software.
  2. Dropwizard Metrics is a library for measuring various metrics in a Java application for easy understanding of what and how the code does during production. . License: Apache 2 , github's rating is 3188. The license is compatible with closed software.
  3. GCViewer Fork Tagtraum GCViewer is a small tool for detailed visualization of GC (garbage collector) logs (including the G1 collector). License: GNU Lesser 2.1 , github's rating is 990. The license is compatible with closed software.
  4. AdoptOpenJDK Jitwatch Java HotSpot JIT compiler log analyzer showing results using JavaFX interface. License: BSD 2 , github rating - 547. The license is compatible with closed software.
  5. Naver Pinpoint is an APM (Application Performance Management) performance monitoring tool for large-scale distributed systems written in Java. Created on the basis of Google's Dapper paper ... License: Apache 2 , github's rating is 486. The license is compatible with closed software.
  6. jHiccup - Logging and recording performance problems and speed loss for a JVM, License: BSD 2 . The license is compatible with closed software.
  7. JMH - Microbenchmarking tool for JVM, License: GNU 2 . Non-licensed software license
  8. LatencyUtils - Utilities for measuring application response time and reporting, License: BSD 2 . The license is compatible with closed software.
  9. VisualVM - A visual interface showing detailed information about running applications. License : GNU 2 with the Classpath Exception .
  10. JProfiler - Paid Profiler. License: Proprietary paid, there is a free version for open source projects Proprietary license
  11. YourKit Java Profiler - Paid Profiler. License: Proprietary paid, there is a free version for open source projects, special plans for scientific and academic purposes Proprietary license
  12. XRebel - Paid Profiler. License: Proprietary fee Proprietary license


4. Source code analysis


To index


  1. SonarQube is a free platform for managing code quality. http://www.sonarqube.org License: GNU Lesser 3 , github rating is 655. The license is compatible with closed software.
  2. Google Error prone - detection of typical errors in Java code. License: Apache 2 , github's rating is 590. The license is compatible with closed software.
  3. OpenGrok This is a quick and useful search in the source code of the project, the search for cross-references in classes and navigation through the source code tree, it supports various code control systems, such as SCCS, RCS, CVS, Subversion, Mercurial, etc.c ... License : CDDL 1.0 , github's rating is 570.
  4. Checkstyle - Static Analysis of Compliance with Code Writing Standards and Conventions, License: GNU Lesser 2.1 . The license is compatible with closed software.
  5. FindBugs - Static bytecode analysis to find potential errors. License: GNU Lesser . The license is compatible with closed software.
  6. jQAssistant - Static code analyzer with Neo4J based query language, License: GNU 3 . Non-licensed software license
  7. PMD - Source code analysis for finding bad programming practices, License: BSD 4 . The license is compatible with closed software.


5. Monitoring


Tools for monitoring applications in production.
To the table of contents


  1. AppDynamics - Commercial performance monitor. License: Proprietary paid, there is a free version with limited functionality Proprietary license
  2. JavaMelody - Performance Monitoring and Profiling, License: Apache 2 . The license is compatible with closed software.
  3. jmxtrans - A tool for connecting to various JVMs and querying their properties via JMX. This query language is based on JSON, which allows non-Java programmers to access JVMs properties. Also, this tool supports various types of data output, including Graphite, Ganglia, StatsD and many others. License: MIT . The license is compatible with closed software.
  4. Kamon - Tools for monitoring applications running on a JVM, License: Apache 2 . The license is compatible with closed software.
  5. New Relic - Commercial performance monitor. License: Proprietary fee, with two weeks trial period Proprietary license
  6. SPM - Commercial performance monitor with debugging distributed transactions in JVM applications. License: Proprietary paid, there is a free version with limited functionality Proprietary license
  7. Takipi - Commercial error monitoring and debugging in sales mode. License: Proprietary paid, there is a free version with limited functionality and a trial period of two weeks for the full version Proprietary license


6. Overriding loaded classes


To the table of contents


  1. Dynamic Code Evolution Virtual Machine (DCE VM) β€”JVM modification that allows unlimited redefinition of loaded classes at run time. License: GNU 2 Non-licensed software license
  2. DCEVM - Fork DCEVM. JVM modification that allows unlimited redefinition of loaded classes at runtime, License: GNU 2 Non-licensed software license
  3. HotswapAgent - Unlimited redefinition of classes and resources at runtime, License: GNU 2 Non-licensed software license
  4. JRebel - Commercial software that allows unlimited code reloads and configuration changes without rebooting the server. License: Proprietary, paid software, Proprietary license
  5. Spring Loaded - Agent for re-restarting classes, License: Apache 2 The license is compatible with closed software.


7. Other


To the table of contents


  1. Google J2ObjC: Java to Objective-C Translator and Runtime - convert Java language (including Android) to Objective-C ... License: Apache 2 , github's rating is 2940. The license is compatible with closed software.
  2. Bytecode viewer A system for Java and Android reverse engineering (decompiler, editor, debugger, etc.). License: GNU 3 , github's rating is 617. Non-licensed software license
  3. Reflections scans your classpath, indexes metadata and allows you to build queries at runtime to metadata, can save information about the metadata of your project. License: WTFPL , github rating - 514. The license is compatible with closed software.

Current implementations of the JVM / JDK.


  1. JDK 9 - Early access to JDK version 9., License: GNU 2 . Non-licensed software license
  2. OpenJDK - An open source Java implementation for Linux., License: GNU 2 . Non-licensed software license
  3. Zulu OpenJDK - OpenJDK implementation for Windows, Linux and Mac OS X including Java 8, License: GNU 2 . Non-licensed software license
  4. Zulu OpenJDK 9 - Early access to the version of OpenJDK 9 for Windows, Linux and Mac OS X, License: GNU 2 . Non-licensed software license


Vi. Programming languages ​​and applications written in Java



1. Programming languages ​​written in Java


To the table of contents


  1. Clojure Clojure programming language. . License: Apache 2 , github's rating is 4332. The license is compatible with closed software.
  2. JetBrains Kotlin Programming language Kotlin. License: Apache 2 , github rating - 1621. The license is compatible with closed software.
  3. Gocd The main repository for building Go programs. License: Apache 2 , github rating - 1602. The license is compatible with closed software.
  4. Groovy core Groovy programming language. License: Apache 2 , github rating - 1327. The license is compatible with closed software.
  5. Jphp compiler Jphp Alternative Zend PHP for JVM, the same as JRuby and Jython but only for PHP. License: Apache 2 , github's rating is 969. The license is compatible with closed software.
  6. Trifork Erjang Virtual JVM machine for the Erlang language. License: Apache 2 , github rating - 484. The license is compatible with closed software.


2. Utilities for other programming languages ​​written in Java


To the table of contents


  1. Go lang idea plugin IDE for the Goole Go programming language, based on the IntelliJ Platform. License: Apache 2 , github rating - 1717. The license is compatible with closed software.
  2. Processing js Porting the Processing library to work with video and images in JavaScript ... License: MIT , github rating - 1696. The license is compatible with closed software.
  3. Pysonar2 PySonar2 is an indexing and typing system in Python that performs complex analysis using the Sourcegraph of hundreds of thousands of open Python repositories. License: GNU GNU AGPLv3 , github's rating is 1654. Non-licensed software license


3. Javascript


To the table of contents


  1. Yuicompressor YUI Compressor is a JavaScript and CSS file compression system that removes extra spaces, safely obfuscates local variables to the minimum possible name, and so on ... License: BSD , github rating - 1840. The license is compatible with closed software.
  2. Google Closure compiler Library for checking JavaScript code and its optimization. License: Apache 2 , github rating - 1442. The license is compatible with closed software.
  3. Frontend maven plugin Maven plugin that downloads and installs Node and NPM locally and runs NPM install, Grunt, Gulp and / or Karma. License: Apache 2 , github's rating is 586. The license is compatible with closed software.
  4. Dynjs ECMAScript runtime for JVM. License: Apache 2 , github's rating is 533. The license is compatible with closed software.


4. Framework for creating parsers, interpreters and code compilers


To the table of contents


  1. ANTLR - A multipurpose full-fledged framework for top-down parsing, License: BSD 2 . The license is compatible with closed software.
  2. JavaCC - More specific and easy to learn, has syntactic preview, License: BSD . The license is compatible with closed software.


5. Applications and finished products written in Java


To the table of contents


  1. Square Keywhiz is a system for storing and managing secret data (TLS certificates, GPG keys, API tokens, database access data). License: Apache 2 , github's rating is 979. The license is compatible with closed software.
  2. Rundeck is an automatic task scheduler for managing jobs, web console jobs, command line tools and WebAPI .. License: Apache 2 , github rating is 853. The license is compatible with closed software.
  3. KeyBox is an SSH web console that is used for administrative access to the system. License: Apache 2 , github's rating is 792. The license is compatible with closed software.
  4. OpenTripPlanner is a free travel planner, supports open standard file formats (GTFS and OpenStreetMap), also includes a REST API for travel planning, as well as a Javascript client. License: Apache 2 , github's rating is 704. The license is compatible with closed software.
  5. Netflix Servo provides an easy interface to get and publish Netflix application settings. License: Apache 2 , github's rating is 681. The license is compatible with closed software.
  6. Jitsi software that provides text, voice and video communication with different SIP, XMPP / Jabber, AIM / ICQ, IRC, Yahoo! and many other features. License: Apache 2 , github's rating is 676. The license is compatible with closed software.
  7. Netflix Exhibitor is a system for ZooKeeper that provides monitoring, archiving and recovery, cleaning and visualization. License: Apache 2 , github's rating is 610. The license is compatible with closed software.
  8. Glyptodon Guacamole client is a client that allows you to work with a remote desktop through a browser without installing any software. Uses HTML5, JavaScript and Java. License: MIT , github rating is 556. The license is compatible with closed software.
  9. Bateman is a simple stock trading system that optimizes its parameters using particle swarm optimization. : 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' β€” 423.


VII. Other



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 . License: 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 Java


Here


!


PS github'e . , pull request issue github'e .



')

Source: https://habr.com/ru/post/280784/


All Articles