An open API service indexing awesome lists of open source software.

https://github.com/hantsy/java-sandbox

The sandbox for playing the new features introduced in the next generation of Java.
https://github.com/hantsy/java-sandbox

java11 java17 java18 java19

Last synced: 23 days ago
JSON representation

The sandbox for playing the new features introduced in the next generation of Java.

Awesome Lists containing this project

README

        

# Java Sandbox

This is a personal sandbox to keep up with the latest Java language features that introduced in Java 8 and later.

## Getting the latest Java Development Kit

You can download a copy of JDK redistribution from the following website for development purpose.

* [OpenJDK]( https://openjdk.java.net)
* [Oracle JDK]( https://java.oracle.com)
* [AdoptOpenJDK]( https://adoptopenjdk.net/) by London Java User Group, ([AdoptOpenJDK joins Eclipse Foundation](https://blog.adoptopenjdk.net/2020/06/adoptopenjdk-to-join-the-eclipse-foundation/))
* [Zulu OpenJDK](https://www.azul.com/downloads/zulu-community/) by Azul
* [Microsoft OpenJDK](https://www.microsoft.com/openjdk)
* [BellSoft Liberica JDK](https://bell-sw.com/pages/downloads)

Additionally, IBM, Amazon, Alibaba, RedHat have maintained their own Java redistributions.

## Docs

### Java 8(LTS)

### Java 9

The long-awaited Java 9 adds a plenty of new features, including the controversial Java Platform Module System, the new Flow API(as Java built-in Reactive Stream implementation), and numerous language improvements.

* [JShell](./docs/jshell.md)
* [Immutable Collections](./docs/immutable-collections.md)
* Java Module System
* Java Flow API - The ReactiveStream adopting

### Java 10

### Java 11(LTS)

### Java 12

### Java 13

* [Pattern matching with *switch*](./docs/pattern-matching.md)
* [Text block](./docs/text-block.md)

### Java 14

* [Instanceof Pattern Matching](./docs/instanceof-pattern-matching.md)
* [Helpful NPE Exception Messages](./docs/helpful-npe.md)
* [Record](./docs/record.md)
* [Small improvements in Text Block](./docs/java14-text-block-improvement.md)

### Java 15

* [Sealed Classes](./docs/sealed-classes.md)

## Java 16

* [New `toList()` method in `Stream`](./docs/java16-stream-tolist.md)
* [Serializing and deserializing `Record` with Jackson 2.12](./docs/record-jackson.md)

## Java 17
* [Java type in switch pattern matching example](./docs/switch-pattern-matching.md)

## References

### Java 9

- [Immutable Collections in Java 9 ](https://dzone.com/articles/immutable-collections-in-java-9), DZone
- [Process Handling in Java 9 ](https://dzone.com/articles/process-handling-in-java-9), DZone
- [Immutable Collections Explained](https://github.com/google/guava/wiki/ImmutableCollectionsExplained), Google Guava Github Wiki
- [What is new in JDK 9](https://www.quora.com/What-is-new-in-JDK-9), Quora
- [55 New Features in JDK 9 by Simon Ritter](https://goo.gl/d2F7rH), Devoxx Session
- [Painlessly Migrating to Java Jigsaw Modules - a Case Study](https://www.infoq.com/articles/Java-Jigsaw-Migration-Guide)
- [Java 9 and Intellij IDEA](https://dzone.com/articles/java-9-and-intellij-idea)
- [Java Magazine: Sept/Oct 2017](http://www.javamagazine.mozaicreader.com/SeptOct2017#&pageSet=0&page=0&contentItem=0)
- [Java 9: The Good, the Bad, and Private Interface Methods ](https://dzone.com/articles/java-9-the-good-the-bad-and-private-interface-meth)

### Java 11

* [A closer look at the Java 11 HTTP Client](https://golb.hplar.ch/2019/01/java-11-http-client.html)
* [Introduction to the Java HTTP Client](https://openjdk.java.net/groups/net/httpclient/intro.html)
* [(Java HTTP Client) Examples and Recipes](https://openjdk.java.net/groups/net/httpclient/recipes.html)

### Java 12
* [New switch Expressions in Java 12](https://blogs.oracle.com/javamagazine/new-switch-expressions-in-java-12)

### Java 13
* [Inside Java 13’s switch Expressions and Reimplemented Socket API](https://blogs.oracle.com/javamagazine/inside-java-13s-switch-expressions-and-reimplemented-socket-api)
* [Oracle blog: the arrival of Java 13](https://blogs.oracle.com/java-platform-group/the-arrival-of-java-13)
* [Text Blocks Come to Java](https://blogs.oracle.com/javamagazine/text-blocks-come-to-java)
* [81 New Features and APIs in JDK 13 ](https://dzone.com/articles/81-new-features-and-apis-in-jdk-13)
* [DZone Refcard #318: Java 13](https://dzone.com/refcardz/java-13-1?chapter=1)
* [Programmer's Guide To Text Blocks](http://cr.openjdk.java.net/~jlaskey/Strings/TextBlocksGuide_v9.html)
* [Definitive Guide To Switch Expressions In Java 13](https://blog.codefx.org/java/switch-expressions/)
* [Java 13 – a deep dive into the JDK’s new features](https://jaxenter.com/java-13-jdk-deep-dive-new-features-162272.html), JAXcenter
* [Java 13 – why text blocks are worth the wait](https://jaxenter.com/java-13-text-blocks-162278.html), JAXcenter
* [Java 13 and IntelliJ IDEA](https://blog.jetbrains.com/idea/2020/03/java-14-and-intellij-idea/)

### Java 14

* [Records come to Java](https://blogs.oracle.com/javamagazine/records-come-to-java)
* [Java 14 Arrives with a Host of New Features](https://blogs.oracle.com/javamagazine/java-14-arrives-with-a-host-of-new-features)
* [Java 14 Feature Spotlight: Records ](https://www.infoq.com/articles/java-14-feature-spotlight/)
* [JEP 359: Records (Preview)](https://openjdk.java.net/jeps/359)
* [Java 14: instanceOf Pattern Matching](https://javabeginnerstutorial.com/core-java-tutorial/java-14-instanceof-pattern-matching/)
* [Java 14: JDK 14 arriving today](https://jaxenter.com/java-14-update-news-163585.html) by Jaxcenter
* [New features between Java 8 and Java 14](https://ondro.inginea.eu/index.php/new-features-between-java-8-and-java-14/)
* [Java 14 and IntelliJ IDEA](https://blog.jetbrains.com/idea/2020/03/java-14-and-intellij-idea/)
* [A categorized list of all Java and JVM features since JDK 8 to 14](https://advancedweb.hu/a-categorized-list-of-all-java-and-jvm-features-since-jdk-8-to-14/)

### Java 15
* [Java Feature Spotlight: Sealed Classes ](https://www.infoq.com/articles/java-sealed-classes/)
* [Java 15 Features: Sealed and Hidden Classes, Pattern Matching And Text Blocks](https://medium.com/better-programming/java-15-features-sealed-and-hidden-classes-pattern-matching-and-text-blocks-38f4efdc8adc)
* [Inside Java 15: Fourteen JEPs in five buckets](https://blogs.oracle.com/javamagazine/inside-java-15-fourteen-jeps-in-five-buckets)

## Java 16

* [Java 16 and IntelliJ IDEA](https://blog.jetbrains.com/idea/2021/03/java-16-and-intellij-idea/)
* [Java 16 Released ](https://www.infoq.com/news/2021/03/java16-released/)
* [What We Know about Java 16 and 17 So Far ](https://www.infoq.com/news/2020/11/java16-so-far/)