Merge remote-tracking branch 'akullpp/master' into code-coverage

This commit is contained in:
Vijay Krishna Palepu
2015-11-25 16:08:31 -08:00

View File

@ -32,7 +32,6 @@ A curated list of awesome Java frameworks, libraries and software.
- [Imagery](#imagery) - [Imagery](#imagery)
- [JSON](#json) - [JSON](#json)
- [JVM and JDK](#jvm-and-jdk) - [JVM and JDK](#jvm-and-jdk)
- [Languages](#languages)
- [Logging](#logging) - [Logging](#logging)
- [Machine Learning](#machine-learning) - [Machine Learning](#machine-learning)
- [Messaging](#messaging) - [Messaging](#messaging)
@ -165,8 +164,10 @@ A curated list of awesome Java frameworks, libraries and software.
*Everything which simplifies interactions with the database.* *Everything which simplifies interactions with the database.*
* [Apache Hive] (https://hive.apache.org/) - Data warehouse infrastructure built on top of Hadoop.
* [Apache Phoenix](http://phoenix.apache.org/) - High performance relational database layer over HBase for low latency applications. * [Apache Phoenix](http://phoenix.apache.org/) - High performance relational database layer over HBase for low latency applications.
* [Crate](https://crate.io/) - Distributed data store that implements data synchronization, sharding, scaling, and replication. In addition, it provides a SQL-based syntax to execute queries across a cluster. * [Crate](https://crate.io/) - Distributed data store that implements data synchronization, sharding, scaling, and replication. In addition, it provides a SQL-based syntax to execute queries across a cluster.
* [FlexyPool](https://github.com/vladmihalcea/flexy-pool) - Brings metrics and failover strategies to the most common connection pooling solutions.
* [Flyway](http://flywaydb.org/) - Simple database migration tool. * [Flyway](http://flywaydb.org/) - Simple database migration tool.
* [H2](http://h2database.com/) - Small SQL Database notable for its in-memory functionality. * [H2](http://h2database.com/) - Small SQL Database notable for its in-memory functionality.
* [HikariCP](https://github.com/brettwooldridge/HikariCP) - High performance JDBC connection pool. * [HikariCP](https://github.com/brettwooldridge/HikariCP) - High performance JDBC connection pool.
@ -178,18 +179,19 @@ A curated list of awesome Java frameworks, libraries and software.
* [Presto](https://github.com/facebook/presto) - Distributed SQL query engine for big data. * [Presto](https://github.com/facebook/presto) - Distributed SQL query engine for big data.
* [Querydsl](http://www.querydsl.com/) - Typesafe unified queries. * [Querydsl](http://www.querydsl.com/) - Typesafe unified queries.
* [Redisson](https://github.com/mrniko/redisson) - Allows for distributed and scalable data structures on top of a Redis server. * [Redisson](https://github.com/mrniko/redisson) - Allows for distributed and scalable data structures on top of a Redis server.
* [FlexyPool](https://github.com/vladmihalcea/flexy-pool) - Brings metrics and failover strategies to the most common connection pooling solutions.
## Data structures ## Data structures
*Efficient and specific data structures.* *Efficient and specific data structures.*
* [Apache Avro](https://avro.apache.org/) - Data interchange format featuring among others: dynamic typing, untagged data, absence of manually assigned IDs.
* [Apache Orc](https://orc.apache.org/) - Fast and efficient columnar storage format for hadoop based workloads.
* [Apache Parquet](http://parquet.apache.org/) - Columnar storage format based on assembly algorithms from the Dremel paper by Google. * [Apache Parquet](http://parquet.apache.org/) - Columnar storage format based on assembly algorithms from the Dremel paper by Google.
* [Apache Thrift](https://thrift.apache.org/) - Data interchange format that originated at Facebook.
* [Persistent Collection](http://pcollections.org/) - Persistent and immutable analogue of the Java Collections Framework.
* [Protobuf](https://github.com/google/protobuf) - Google's data interchange format. * [Protobuf](https://github.com/google/protobuf) - Google's data interchange format.
* [SBE](https://github.com/real-logic/simple-binary-encoding) - Simple Binary Encoding, one of the fastest message formats around. * [SBE](https://github.com/real-logic/simple-binary-encoding) - Simple Binary Encoding, one of the fastest message formats around.
* [Wire](https://github.com/square/wire) - Clean, lightweight protocol buffers. * [Wire](https://github.com/square/wire) - Clean, lightweight protocol buffers.
* [Apache Thrift](https://thrift.apache.org/) - Data interchange format that originated at Facebook.
* [Apache Avro](https://avro.apache.org/) - Data interchange format featuring among others: dynamic typing, untagged data, absence of manually assigned IDs.
## Date and Time ## Date and Time
@ -288,11 +290,11 @@ A curated list of awesome Java frameworks, libraries and software.
*Libraries that facilitate functional programming.* *Libraries that facilitate functional programming.*
* [Cyclops](https://github.com/aol/cyclops) - Monad and stream utilities, comprehensions, pattern matching, trampolines and much more. * [Cyclops](https://github.com/aol/cyclops) - Monad and stream utilities, comprehensions, pattern matching, trampolines and much more.
* [derive4j](https://github.com/derive4j/derive4j) - Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching, morphisms.
* [Fugue](https://bitbucket.org/atlassian/fugue) - Functional extensions to Guava. * [Fugue](https://bitbucket.org/atlassian/fugue) - Functional extensions to Guava.
* [Functional Java](http://www.functionaljava.org) - Implements numerous basic and advanced programming abstractions that assist composition-oriented development. * [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 that provides persistent data types and functional control structures. * [Javaslang](http://javaslang.com) - Functional component library that provides persistent data types and functional control structures.
* [jOOλ](https://github.com/jOOQ/jOOL) - Extension to Java 8 which aims to fix gaps in lambda, providing numerous missing types and a rich set of sequential Stream API additions. * [jOOλ](https://github.com/jOOQ/jOOL) - Extension to Java 8 which aims to fix gaps in lambda, providing numerous missing types and a rich set of sequential Stream API additions.
* [derive4j](https://github.com/derive4j/derive4j) - Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching, morphisms.
## Game Development ## Game Development
@ -357,23 +359,13 @@ A curated list of awesome Java frameworks, libraries and software.
* [JDK 9](https://jdk9.java.net/) - Early access releases of JDK 9. * [JDK 9](https://jdk9.java.net/) - Early access releases of JDK 9.
* [OpenJDK](http://openjdk.java.net/) - Open-source implementation. * [OpenJDK](http://openjdk.java.net/) - Open-source implementation.
## Languages
*Languages other than Java that can be used to write JVM applications.*
* [Scala](http://www.scala-lang.org/) - Statically typed programming language that fuses the object - oriented model and functional programming ideas.
* [Groovy](http://www.groovy-lang.org/) - Optionally typed and dynamic language, with static-typing and static compilation capabilities. Currently an incubating Apache project
* [Clojure](http://clojure.org/) - Dynamically typed programming language that can be seen as a modern take on Lisp.
* [Ceylon](http://ceylon-lang.org/) - Statically typed object-oriented language developed by RedHat.
* [Kotlin](http://kotlinlang.org/) - JetBrain's statically typed programming language for the JVM, Android and the browser.
* [Eclipse Golo](http://golo-lang.org/) - A simple dynamic language that makes extensive usage of `invokedynamic`, currently an incubating Eclipse Technology project.
## Logging ## Logging
*Libraries that log the behavior of an application.* *Libraries that log the behavior of an application.*
* [Apache Log4j 2](http://logging.apache.org/log4j/) - Complete rewrite with a powerful plugin and configuration architecture. * [Apache Log4j 2](http://logging.apache.org/log4j/) - Complete rewrite with a powerful plugin and configuration architecture.
* [kibana](https://www.elastic.co/products/kibana) - Analyzes and visualizes log files. * [graylog](https://www.graylog.org/) - Open-source aggregator suited for extended role and permission management.
* [kibana](https://www.elastic.co/products/kibana) - Analyzes and visualizes log files. Some features require payment.
* [Logback](http://logback.qos.ch/) - Robust logging library with interesting configuration options via Groovy. * [Logback](http://logback.qos.ch/) - Robust logging library with interesting configuration options via Groovy.
* [logstash](https://www.elastic.co/products/logstash) - Tool for managing log files. * [logstash](https://www.elastic.co/products/logstash) - Tool for managing log files.
* [Metrics](https://github.com/dropwizard/metrics) - Expose metrics via JMX or HTTP and can send them to a database. * [Metrics](https://github.com/dropwizard/metrics) - Expose metrics via JMX or HTTP and can send them to a database.
@ -414,6 +406,7 @@ A curated list of awesome Java frameworks, libraries and software.
* [Jimfs](https://github.com/google/jimfs) - In-memory file system. * [Jimfs](https://github.com/google/jimfs) - In-memory file system.
* [Lanterna](https://code.google.com/p/lanterna/) - Easy console text GUI library similar to curses. * [Lanterna](https://code.google.com/p/lanterna/) - Easy console text GUI library similar to curses.
* [LightAdmin](http://lightadmin.org/) - Pluggable CRUD UI library for rapid application development. * [LightAdmin](http://lightadmin.org/) - Pluggable CRUD UI library for rapid application development.
* [Modern Java - A Guide to Java 8](https://github.com/winterbe/java8-tutorial) - Popular Java 8 guide.
* [OpenRefine](http://openrefine.org/) - Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. * [OpenRefine](http://openrefine.org/) - Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases.
* [RoboVM](https://robovm.com/) - Commercial framework with a free trial to write native iOS apps. * [RoboVM](https://robovm.com/) - Commercial framework with a free trial to write native iOS apps.
@ -539,8 +532,8 @@ A curated list of awesome Java frameworks, libraries and software.
*Libraries that handle serialization with high efficiency.* *Libraries that handle serialization with high efficiency.*
* [FlatBuffers](https://github.com/google/flatbuffers) - Memory efficient serialization library that can access serialized data without unpacking and parsing it. * [FlatBuffers](https://github.com/google/flatbuffers) - Memory efficient serialization library that can access serialized data without unpacking and parsing it.
* [Kryo](https://github.com/EsotericSoftware/kryo) - Fast and efficient object graph serialization framework.
* [FST](https://github.com/RuedigerMoeller/fast-serialization) - JDK compatible high performance object graph serialization. * [FST](https://github.com/RuedigerMoeller/fast-serialization) - JDK compatible high performance object graph serialization.
* [Kryo](https://github.com/EsotericSoftware/kryo) - Fast and efficient object graph serialization framework.
* [MessagePack](https://github.com/msgpack/msgpack-java) - Efficient binary serialization format. * [MessagePack](https://github.com/msgpack/msgpack-java) - Efficient binary serialization format.
## Server ## Server
@ -550,7 +543,7 @@ A curated list of awesome Java frameworks, libraries and software.
* [Apache Tomcat](http://tomcat.apache.org/) - Robust all-round server for Servlet and JSP. * [Apache Tomcat](http://tomcat.apache.org/) - Robust all-round server for Servlet and JSP.
* [Apache TomEE](http://tomee.apache.org/) - Tomcat plus Java EE. * [Apache TomEE](http://tomee.apache.org/) - Tomcat plus Java EE.
* [Jetty](http://www.eclipse.org/jetty/) - Lightweight, small server, often embedded in projects. * [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 * [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. * [WildFly](http://www.wildfly.org/) - Formerly known as JBoss and developed by Red Hat with extensive Java EE support.
## Template Engine ## Template Engine
@ -573,12 +566,14 @@ A curated list of awesome Java frameworks, libraries and software.
* [Citrus](http://citrusframework.org/) - Integration testing framework with focus on client- and serverside messaging. * [Citrus](http://citrusframework.org/) - Integration testing framework with focus on client- and serverside messaging.
* [Cucumber](https://github.com/cucumber/cucumber-jvm) - BDD testing framework. * [Cucumber](https://github.com/cucumber/cucumber-jvm) - BDD testing framework.
* [Gatling](http://gatling.io/) - Load testing tool designed for ease of use, maintainability and high performance. * [Gatling](http://gatling.io/) - Load testing tool designed for ease of use, maintainability and high performance.
* [GreenMail](http://www.icegreen.com/greenmail/) - In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL.
* [Hamcrest](http://hamcrest.org/JavaHamcrest/) - Matchers that can be combined to create flexible expressions of intent. * [Hamcrest](http://hamcrest.org/JavaHamcrest/) - Matchers that can be combined to create flexible expressions of intent.
* [JGiven](http://jgiven.org) - Developer-friendly BDD testing framework compatible with JUnit and TestNG * [JGiven](http://jgiven.org) - Developer-friendly BDD testing framework compatible with JUnit and TestNG.
* [JMockit](http://jmockit.org/) - Mocks static, final methods and more. * [JMockit](http://jmockit.org/) - Mocks static, final methods and more.
* [JUnit](http://junit.org/) - Common testing framework. * [JUnit](http://junit.org/) - Common testing framework.
* [JUnitParams](https://pragmatists.github.io/JUnitParams/) - Creation of readable and maintainable parametrised tests. * [JUnitParams](https://pragmatists.github.io/JUnitParams/) - Creation of readable and maintainable parametrised tests.
* [Mockito](https://github.com/mockito/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.
* [Moco](https://github.com/dreamhead/moco) - Concise web services for stubs and mocks, Duke's Choice Award 2013.
* [PowerMock](https://github.com/jayway/powermock) - Enables mocking of static methods, constructors, final classes and methods, private methods and removal of static initializers. * [PowerMock](https://github.com/jayway/powermock) - Enables mocking of static methods, constructors, final classes and methods, private methods and removal of static initializers.
* [REST Assured](https://github.com/jayway/rest-assured) - Java DSL for easy testing for REST/HTTP services. * [REST Assured](https://github.com/jayway/rest-assured) - Java DSL for easy testing for REST/HTTP services.
* [Selenide](http://selenide.org/) - Concise API around Selenium to write stable and readable UI tests. * [Selenide](http://selenide.org/) - Concise API around Selenium to write stable and readable UI tests.
@ -588,8 +583,6 @@ A curated list of awesome Java frameworks, libraries and software.
* [Truth](https://github.com/google/truth) - Google's assertion and proposition framework. * [Truth](https://github.com/google/truth) - Google's assertion and proposition framework.
* [Unitils](http://www.unitils.org/) - Modular testing library for unit and integration testing. * [Unitils](http://www.unitils.org/) - Modular testing library for unit and integration testing.
* [WireMock](http://wiremock.org/) - Stubbs and mocks web services. * [WireMock](http://wiremock.org/) - Stubbs and mocks web services.
* [Moco](https://github.com/dreamhead/moco) - Concise web services for stubs and mocks, Duke's Choice Award 2013.
* [GreenMail](http://www.icegreen.com/greenmail/) - In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL.
## Utility ## Utility