Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
awesome-java8
Curated list of useful, if not amazing, resources that take advantage of Java 8 and "Modern Java" thinking.
https://github.com/tedyoung/awesome-java8
Last synced: about 8 hours ago
JSON representation
-
Caching Libraries
- Caffeine - High performance Java 8-based in-memory caching library providing a near optimal "hit rate". Well-documented and flexible. :8ball:
-
Functional libraries
- Derive4J - Code generator for user-defined algebraic data types (aka sum types) based on an enhanced "visitor" pattern. Provides structural pattern matching, laziness, functional setters (return a copy of an object with one field modified) & more. :8ball:
- jOOλ - Part of the jOOQ series of libraries, provides more Functions, Tuples, and `Seq` that provides methods like `crossJoin()`, `join()`, and `groupBy()`. :8ball:
- ProtonPack - Offers about a dozen utilities for `Stream`, e.g., `takeWhile`, `zip`, `aggregate`, and a `unique` collector. :8ball:
- Vavr - Adds the notion of Tuples, along with immutable Values and Pattern Matching, to make it easier to write more functional Java code. (Formerly known as Javaslang.) :8ball:
- NoException - Allows checked exceptions in functional interfaces and converts exceptions to Optional return. :8ball:
-
Interoperability libraries
- Cyclops - Very modular, so only include what you need. From function exception handling (`try`), to generic monad operations, to pattern matching. Specific integrations to Javaslang, functionaljava, and Guava. :8ball:
-
Distributed Systems libraries
-
General-purpose libraries
- Release 21
- Guava - One of the most widely used and well-written general-purpose Java libraries. As of Release 21, only works with Java 8 (or later). :8ball:
-
Reactive libraries
-
Testing
- AssertJ - Fluent assertions for Java unit testing, with the 3.0 release requiring Java 8. :8ball:
-
Web App/API frameworks
- Play Framework - The popular Play Framework, from Typesafe, is "reactive" and built on Akka (the Actor framework) and supports non-blocking I/O, and is stateless. :8ball:
- Spark Java - Concise (micro-) framework for quickly creating Web APIs or web pages. Does not use annotations. Embeds the [Jetty](http://www.eclipse.org/jetty/) web server. :8ball:
- Java 8 in Action - One of the earlier Java 8 books, but has lots of good diagrams and pictures to help one learn about things like internal vs. external iteration in streams.
- Java 8 Lambdas - Written by the author of the Lambda Behave testing framework, clearly Richard Warburton knows his lambdas. Concise, yet covers testing & debugging, design, and concurrency.
- Java SE 8 for the Really Impatient - Cay S. Horstmann has been writing Java books forever. This book is right on target and includes even some of the "minor" new features in Java 8, such as using a lambda to do "compare-and-set" operations on atomic variables.
- What's New in Java 8 - Free to read online, and includes lots of examples. Includes lambdas, streams, Nashorn (JavaScript engine), and the new Date/Time API.
Programming Languages
Categories
Sub Categories
Keywords
java
3
functional-programming
2
algebra
1
algebraic-data-types
1
annotation-processor
1
catamorphisms
1
derive4j
1
discriminated-unions
1
exhaustiveness-checking
1
fold
1
java-8
1
laziness
1
optics
1
sum-types
1
tagged-unions
1
visitor
1
visitor-pattern
1
asynchronous
1
collections
1
data-structures
1
java8
1
monad
1
monad-transformers
1
monoid
1
reactive
1
reactive-streams
1
streams
1
streams-api
1
guava
1