Merge branch 'master' into hikaricp

This commit is contained in:
John V McCarthy
2015-04-28 11:23:35 -06:00

View File

@ -5,10 +5,12 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o
- [Awesome Java](#awesome-java)
- [Build Tool](#build-tool)
- [Bytecode Manipulation](#bytecode-manipulation)
- [Cluster Management](#cluster-management)
- [Code Analysis](#code-analysis)
- [Compiler-compiler](#compiler-compiler)
- [Continuous Integration](#continuous-integration)
- [Database](#database)
- [Data structures](#data-structures)
- [Date and Time](#date-and-time)
- [Dependency Injection](#dependency-injection)
- [Development](#development)
@ -16,6 +18,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o
- [Distributed Databases](#distributed-databases)
- [Distribution](#distribution)
- [Document Processing](#document-processing)
- [Functional Programming](#functional-programming)
- [Game Development](#game-development)
- [GUI](#gui)
- [High Performance](#high-performance)
@ -66,6 +69,13 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o
* [Byte Buddy](http://bytebuddy.net/) - Further simplifies bytecode generation with a fluent API.
* [Javassist](http://www.csg.ci.i.u-tokyo.ac.jp/~chiba/javassist/) - Tries to simplify the editing of bytecode.
## Cluster Management
*Frameworks which can dynamically manage applications inside of a cluster.*
* [Apache Aurora](http://aurora.apache.org/) - Apache Aurora is a Mesos framework for long-running services and cron jobs.
* [Singularity](http://getsingularity.com/) - Singularity is a Mesos framework that makes deployment and operations easy. It supports web services, background workers, scheduled jobs, and one-off tasks.
## Code Analysis
*Tools that provide metrics and quality measurements.*
@ -98,6 +108,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o
*Everything which simplifies interactions with the database.*
* [Apache Phoenix](http://phoenix.apache.org/) - High performance relational database layer over HBase for low latency applications.
* [Flyway](http://flywaydb.org/) - Simple database migration with Java API.
* [H2](http://h2database.com/) - Small SQL Database notable for its in-memory functionality.
* [HikariCP](https://github.com/brettwooldridge/HikariCP) - High performance JDBC connection pool.
@ -107,6 +118,10 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o
* [Presto](https://github.com/facebook/presto) - Distributed SQL query engine for big data.
* [Querydsl](http://www.querydsl.com/) - Typesafe unified queries for Java.
## Data structures
* [Apache Parquet](https://parquet.incubator.apache.org/) - A columnar storage format based on assembly algorithms from the Dremel paper by Google.
## Date and Time
*Libraries related to handling date and time.*
@ -120,6 +135,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o
* [Dagger](http://square.github.io/dagger/) - Compile-time injection framework without reflection, mainly for Android.
* [Guice](https://github.com/google/guice) - Lightweight but powerful framework that completes Dagger.
* [HK2](https://hk2.java.net) - A light-weight and dynamic dependency injection framework.
## Development
@ -128,6 +144,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o
* [AspectJ](https://eclipse.org/aspectj/) - Seamless aspect-oriented programming extension.
* [Auto](https://github.com/google/auto) - Collection of source code generators.
* [DCEVM](http://dcevm.github.io/) - Modification of the JVM that allows unlimited redefinition of loaded classes at runtime.
* [Immutables](http://immutables.github.io/) - Scala-like case classes in standard Java.
* [JRebel](http://zeroturnaround.com/software/jrebel/) - Commercial software that instantly reloads code and configuration changes without redeploys.
* [Lombok](http://projectlombok.org/) - Code-generator which aims to reduce the verbosity of Java.
* [RxJava](https://github.com/Netflix/RxJava) - Library for composing asynchronous and event-based programs using observable sequences from the JVM.
@ -144,6 +161,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o
* [Hazelcast](http://hazelcast.org/) - Distributed and highly scalable in-memory datagrid.
* [Hystrix](https://github.com/Netflix/Hystrix) - Latency and Fault Tolerance for Distributed Systems.
* [JGroups](http://www.jgroups.org/) - Toolkit for reliable messaging and creating clusters whose nodes can send messages to each other.
* [Orbit](http://orbit.bioware.com/) - Virtual Actors, adding another level of abstraction to traditional Actors.
* [Quasar](http://www.paralleluniverse.co/quasar/) - Lightweight threads and actors for the JVM.
## Distributed Databases
@ -170,6 +188,14 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o
* [Apache POI](http://poi.apache.org/) - Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT).
* [jOpenDocument](http://www.jopendocument.org/) - Processes the OpenDocument format.
## Functional Programming
*Libraries that facilitate functional programming in Java.*
* [Functional Java](http://www.functionaljava.org) - Implements numerous basic and advanced programming abstractions that assist composition oriented development.
* [Javaslang](http://javaslang.com) - Functional component library built for Java 8+ that provides persistent data types and functional control structures.
* [jOOλ](https://github.com/jOOQ/jOOL) - An extension to Java 8 which aims to fix gaps in lambda, providing numerous missing types and a rich set of sequential Stream API additions.
## Game Development
*Frameworks that support the development of games.*
@ -219,7 +245,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o
*Libraries that simplify JSON processing.*
* [Gson](https://code.google.com/p/google-gson/) - Serializes Java objects to JSON and vice versa. Good performance with on-the-fly usage.
* [Gson](https://github.com/google/gson) - Serializes Java objects to JSON and vice versa. Good performance with on-the-fly usage.
* [Jackson](http://wiki.fasterxml.com/JacksonHome) - Similar to GSON but has performance gains if you need to instantiate the library more often.
## JVM and JDK
@ -292,6 +318,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o
*Libraries for network programming.*
* [Async Http Client](https://github.com/AsyncHttpClient/async-http-client) - Asynchronous HTTP and WebSocket client library.
* [Grizzly](https://grizzly.java.net/) - NIO framework. Used as a network layer in Glassfish.
* [Netty](http://netty.io/) - A framework for building high performance network applications.
* [OkHttp](http://square.github.io/okhttp/) - An HTTP+SPDY client for Android and Java applications.
@ -316,6 +343,14 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o
* [iText](http://itextpdf.com/) - Easy to use PDF library which creates PDF files programmatically but requires a license for commercial purposes.
* [JasperReports](http://community.jaspersoft.com/project/jasperreports-library) - Complex reporting engine.
## Performance analysis
*Tools for performance optimization and dynamic program analysis.*
* [JProfiler](https://www.ej-technologies.com/products/jprofiler/overview.html) - Commercial Java profiler.
* [YourKit Java Profiler](https://www.yourkit.com/features/) - Commercial Java profiler.
* [VisualVM](http://visualvm.java.net/) - Visual interface for detailed information about running applications.
## REST Frameworks
*Frameworks specifically for creating RESTful services.*
@ -324,6 +359,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o
* [Feign](https://github.com/Netflix/feign) - Java to HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket.
* [Jersey](https://jersey.java.net/) - JAX-RS reference implementation.
* [RESTEasy](http://resteasy.jboss.org/) - Fully certified and portable implementation of the JAX-RS specification.
* [RestX](http://restx.io) - Opinionated framework based one annotation processor, providing support for REST endpoint, type safe DI, hot compile/reload, API doc, metrics, specs-oriented endpoint testing.
* [Retrofit](http://square.github.io/retrofit/) - A type-safe REST client for Java.
* [Spark](http://www.sparkjava.com/) - A Sinatra inspired framework for java.
* [Swagger](https://helloreverb.com/developers/swagger) - Swagger is a specification and complete framework implementation for describing, producing, consuming, and visualizing RESTful web services.
@ -367,6 +403,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o
* [Apache TomEE](http://tomee.apache.org/) - Tomcat plus Java EE.
* [GlassFish](https://glassfish.java.net/) - Open source reference implementation for Java EE sponsored by Oracle.
* [Jetty](http://www.eclipse.org/jetty/) - Lightweight, small server, often embedded in projects.
* [WebSphere Liberty](https://developer.ibm.com/wasdev/) - Lightweight, modular server developed by IBM
* [WildFly](http://www.wildfly.org/) - Formerly known as JBoss and developed by Red Hat with extensive Java EE support.
## Template Engine
@ -386,22 +423,25 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o
* [Apache JMeter](http://jmeter.apache.org/) - Functional testing and performance measurements.
* [Arquillian](http://arquillian.org/) - Integration and functional testing platform with integration of Java EE containers.
* [AssertJ](http://joel-costigliola.github.io/assertj/) - Fluent assertions that improve readability.
* [Awaitility](https://github.com/jayway/awaitility) - DSL for synchronizing asynchronous operations.
* [Cucumber](https://github.com/cucumber/cucumber-jvm) - A BDD testing framework that supports the most popular programming languages for the JVM.
* [Hamcrest](http://hamcrest.org/JavaHamcrest/) - Matchers that can be combined to create flexible expressions of intent.
* [JMH](http://openjdk.java.net/projects/code-tools/jmh/) - Microbenchmarking tool for the JVM.
* [JMockit](http://jmockit.org/) - The Mock Anything Toolkit for Java, mocks static, final methods and more.
* [JUnit](http://junit.org/) - Common testing framework.
* [Mockito](http://code.google.com/p/mockito/) - Creation of test double objects in automated unit tests for the purpose of TDD or BDD.
* [Mockito](https://github.com/mockito/mockito) - Creation of test double objects in automated unit tests for the purpose of TDD or BDD.
* [Selenide](http://selenide.org/) - Concise API around Selenium to write stable and readable UI tests.
* [Selenium](http://docs.seleniumhq.org/) - Portable software testing framework for web applications.
* [TestNG](http://testng.org/) - Testing framework.
* [VisualVM](http://visualvm.java.net/) - Visual interface for detailed information about running applications.
## Utility
*Libraries which provide general utility functions.*
* [args4j](http://args4j.kohsuke.org/) - Command line arguments parser
* [JCommander](http://jcommander.org/) - Command line arguments parser; its been around, active, and maintained by the creator since 2010.
* [Apache Commons](http://commons.apache.org/) - Provides different general purpose functions like configuration, validation, collections, file upload or XML processing.
* [Guava](http://code.google.com/p/guava-libraries/) - Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and so forth.
* [Guava](https://github.com/google/guava) - Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and so forth.
* [javatuples](http://www.javatuples.org/) - Does what it says, although the concept of tuples in general is debatable.
* [JGraphT](http://jgrapht.org/) - A graph library that provides mathematical graph-theory objects and algorithms.
@ -410,7 +450,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o
*Libraries that analyze the content of websites.*
* [Apache Nutch](http://nutch.apache.org/) - Highly extensible, highly scalable Web crawler for production environment.
* [Crawler4j](https://code.google.com/p/crawler4j/) - Simple lightweight alternative.
* [Crawler4j](https://github.com/yasserg/crawler4j) - Simple lightweight alternative.
* [JSoup](http://jsoup.org/) - Scrapes, parses, manipulates and cleans HTML.
## Web Frameworks
@ -444,6 +484,7 @@ h
* [Effective Java (2nd Edition)](http://www.amazon.com/Effective-Java-Edition-Joshua-Bloch/dp/0321356683)
* [Java Concurrency in Practice](http://www.amazon.com/Java-Concurrency-Practice-Brian-Goetz/dp/0321349601)
* [Java 8 in Action](http://www.amazon.com/Java-Action-Lambdas-functional-style-programming/dp/1617291994/)
* [Thinking in Java](http://www.amazon.com/Thinking-Java-Edition-Bruce-Eckel/dp/0131872486)
## Podcasts
@ -471,9 +512,12 @@ h
* [Lukas Eder](https://twitter.com/lukaseder) - Founder and CEO Data Geekery (jOOQ).
* [Mario Fusco](https://twitter.com/mariofusco) - RedHatter, JUG coordinator, frequent speaker and author.
* [Mark Reinhold](https://twitter.com/mreinhold) - Chief Architect, Java Platform Group, Oracle.
* [Markus Eisele](https://twitter.com/myfear) - Java EE evangelist, Red Hat
* [Martijn Verburg](https://twitter.com/karianna) - London JUG co-leader, speaker, author, Java Champion and much more.
* [OpenJDK](https://twitter.com/OpenJDK) - Official OpenJDK account.
* [Peter Lawrey](https://twitter.com/PeterLawrey) - Peter Lawrey, Java performance expert
* [Reza Rahman](https://twitter.com/reza_rahman) - Java EE/GlassFish/WebLogic evangelist, author, speaker, open source hacker.
* [Roberto Cortez](https://twitter.com/radcortez) - Java EE/JPA expert, speaker, open source
* [Simon Maple](https://twitter.com/sjmaple) - Java Champion, virtualJUG founder, LJC leader, RebelLabs author.
* [Stephen Colebourne](https://twitter.com/jodastephen) - Java Champion, speaker.
* [Tim Boudreau](https://twitter.com/kablosna) - Author and NetBeans guru.
@ -490,11 +534,15 @@ h
* [Java.net](http://java.net/)
* [Javalobby](http://java.dzone.com/)
* [JavaWorld](http://www.javaworld.com/)
* [Java, SQL, and jOOQ](http://blog.jooq.org/)
* [JAXenter](http://jaxenter.com/)
* [RebelLabs](http://zeroturnaround.com/rebellabs/)
* [The Java Specialist' Newsletter](http://www.javaspecialists.eu/archive/archive.jsp)
* [TheServerSide.com](http://www.theserverside.com/)
* [The Takipi Blog](http://blog.takipi.com/)
* [Thoughts On Java](http://www.thoughts-on-java.org/)
* [Vanilla Java](http://vanillajava.blogspot.ch/)
* [Vlad Mihalcea on Hibernate](http://vladmihalcea.com/)
* [Voxxed](https://www.voxxed.com/)
# Contributing