From 34ed964a52ecf00491b5dc3d2157176b687d489e Mon Sep 17 00:00:00 2001 From: Prasanth Jayachandran Date: Mon, 23 Nov 2015 05:28:06 -0600 Subject: [PATCH 1/8] Add Apache Hive to Database --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6845473..1fc0113 100644 --- a/README.md +++ b/README.md @@ -165,6 +165,7 @@ A curated list of awesome Java frameworks, libraries and software. *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. * [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. * [Flyway](http://flywaydb.org/) - Simple database migration tool. From 2e53606ee7b864a60b1f916920ca8f1a200f5296 Mon Sep 17 00:00:00 2001 From: Prasanth Jayachandran Date: Mon, 23 Nov 2015 06:08:49 -0600 Subject: [PATCH 2/8] Add Apache Orc --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1fc0113..d6e7d94 100644 --- a/README.md +++ b/README.md @@ -185,6 +185,7 @@ A curated list of awesome Java frameworks, libraries and software. *Efficient and specific data structures.* +* [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. * [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. From 842d18338eed0288787173bceb1f2a836a664c04 Mon Sep 17 00:00:00 2001 From: Desprez Jean-Marc Date: Tue, 24 Nov 2015 11:00:10 +0100 Subject: [PATCH 3/8] Add Persistent Collection --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6845473..abac61d 100644 --- a/README.md +++ b/README.md @@ -185,6 +185,7 @@ A curated list of awesome Java frameworks, libraries and software. *Efficient and specific data structures.* * [Apache Parquet](http://parquet.apache.org/) - Columnar storage format based on assembly algorithms from the Dremel paper by Google. +* [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. * [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. From edafbb9c5a96b80ab260e4b3a1facfd0e2294abe Mon Sep 17 00:00:00 2001 From: Din Date: Tue, 24 Nov 2015 19:52:22 +0900 Subject: [PATCH 4/8] Added missing '.' for ThreeTenBP,SWT,Groovy,WebSphere,JGiven,GreenMail --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 6845473..e77cc70 100644 --- a/README.md +++ b/README.md @@ -196,7 +196,7 @@ A curated list of awesome Java frameworks, libraries and software. *Libraries related to handling date and time.* * [Joda-Time](http://www.joda.org/joda-time/) - De facto standard date/time-library before Java 8. -* [ThreeTenBP](https://github.com/ThreeTen/threetenbp) - Port of JSR 310 (java.time package) by the author of Joda-Time. +* [ThreeTenBP](https://github.com/ThreeTen/threetenbp) - Port of JSR 310 (java.time package) by the author of Joda-Time. * [Time4J](https://github.com/MenoData/Time4J) - Advanced date and time library. ## Dependency Injection @@ -308,7 +308,7 @@ A curated list of awesome Java frameworks, libraries and software. * [JavaFX](http://www.oracle.com/technetwork/java/javase/overview/javafx-overview-2158620.html) - The successor of Swing. * [Scene Builder](http://www.oracle.com/technetwork/java/javase/downloads/javafxscenebuilder-info-2157684.html) - Visual layout tool for JavaFX applications. -* [SWT](http://www.eclipse.org/swt/) - The Standard Widget Toolkit (SWT) is a graphical widget toolkit for use with the Java platform. +* [SWT](http://www.eclipse.org/swt/) - The Standard Widget Toolkit (SWT) is a graphical widget toolkit for use with the Java platform. ## High Performance @@ -362,7 +362,7 @@ A curated list of awesome Java frameworks, libraries and software. *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 +* [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. @@ -550,7 +550,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 TomEE](http://tomee.apache.org/) - Tomcat plus Java EE. * [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. ## Template Engine @@ -574,7 +574,7 @@ A curated list of awesome Java frameworks, libraries and software. * [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. * [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. * [JUnit](http://junit.org/) - Common testing framework. * [JUnitParams](https://pragmatists.github.io/JUnitParams/) - Creation of readable and maintainable parametrised tests. @@ -589,7 +589,7 @@ A curated list of awesome Java frameworks, libraries and software. * [Unitils](http://www.unitils.org/) - Modular testing library for unit and integration testing. * [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. +* [GreenMail](http://www.icegreen.com/greenmail/) - In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. ## Utility From e191a223a0c7017c9af20d67b1c1c5dcdbea8536 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Wed, 25 Nov 2015 20:23:00 +0100 Subject: [PATCH 5/8] Removed languages (#267) and did an alphasort plus trimming --- README.md | 27 ++++++++------------------- 1 file changed, 8 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 277da57..e7cb672 100644 --- a/README.md +++ b/README.md @@ -168,6 +168,7 @@ A curated list of awesome Java frameworks, libraries and software. * [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. * [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. * [H2](http://h2database.com/) - Small SQL Database notable for its in-memory functionality. * [HikariCP](https://github.com/brettwooldridge/HikariCP) - High performance JDBC connection pool. @@ -179,20 +180,19 @@ A curated list of awesome Java frameworks, libraries and software. * [Presto](https://github.com/facebook/presto) - Distributed SQL query engine for big data. * [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. -* [FlexyPool](https://github.com/vladmihalcea/flexy-pool) - Brings metrics and failover strategies to the most common connection pooling solutions. ## Data structures *Efficient and specific data structures.* -* [Apache Orc](https://orc.apache.org/) - Fast and efficient columnar storage format for hadoop based workloads. +* [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 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. * [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. -* [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 @@ -291,11 +291,11 @@ A curated list of awesome Java frameworks, libraries and software. *Libraries that facilitate functional programming.* * [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. * [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. * [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 @@ -360,17 +360,6 @@ A curated list of awesome Java frameworks, libraries and software. * [JDK 9](https://jdk9.java.net/) - Early access releases of JDK 9. * [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 *Libraries that log the behavior of an application.* @@ -542,8 +531,8 @@ A curated list of awesome Java frameworks, libraries and software. *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. -* [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. +* [Kryo](https://github.com/EsotericSoftware/kryo) - Fast and efficient object graph serialization framework. * [MessagePack](https://github.com/msgpack/msgpack-java) - Efficient binary serialization format. ## Server @@ -576,12 +565,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. * [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. +* [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. * [JGiven](http://jgiven.org) - Developer-friendly BDD testing framework compatible with JUnit and TestNG. * [JMockit](http://jmockit.org/) - Mocks static, final methods and more. * [JUnit](http://junit.org/) - Common testing framework. * [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. +* [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. * [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. @@ -591,8 +582,6 @@ A curated list of awesome Java frameworks, libraries and software. * [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. * [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 From 43e5dd72bab5884a1f599e445c83bc958ac5177d Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Wed, 25 Nov 2015 20:24:07 +0100 Subject: [PATCH 6/8] Removed language category --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index e7cb672..269760f 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,6 @@ A curated list of awesome Java frameworks, libraries and software. - [Imagery](#imagery) - [JSON](#json) - [JVM and JDK](#jvm-and-jdk) - - [Languages](#languages) - [Logging](#logging) - [Machine Learning](#machine-learning) - [Messaging](#messaging) From b14d01d0da74ce401a1935e9a2eb03f54f2313c8 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Wed, 25 Nov 2015 20:29:30 +0100 Subject: [PATCH 7/8] Added graylog as alternative to kibana --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 269760f..9aa56c5 100644 --- a/README.md +++ b/README.md @@ -364,7 +364,8 @@ A curated list of awesome Java frameworks, libraries and software. *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. -* [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. * [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. From bc054bb13429fced947049933d1b10c16f98a245 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Wed, 25 Nov 2015 20:33:24 +0100 Subject: [PATCH 8/8] Added Winterberg's Java 8 GitHub guide --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9aa56c5..6b51da1 100644 --- a/README.md +++ b/README.md @@ -406,6 +406,7 @@ A curated list of awesome Java frameworks, libraries and software. * [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. * [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. * [RoboVM](https://robovm.com/) - Commercial framework with a free trial to write native iOS apps.