I would like to keep this article to list out following
Key features in each version beginning from Java9 till Java12.
Challenges faced in migration from Java8 to JavaX
Good Blogs and Vlog available to refer to while migrating.
Refer this wiki page for complete details on JAVA releases and features and timelines.
Key Features by release:
Java9
Java Module System
Linking
Jshell - runtime console
Javadoc improvments
Collection Factory Methods ex: List stringsOf = List.of("apple","orange","grapes");
Stream API improvements
private interface methods
Http - new classes to make request/response
Multi release Jar - where you can specify which class file to pick based on the JRE.
Good Blogs to refer pluralsight, baeldung and journaldev
Java 10:
Local-Variable Type Inference ex: var = "number", var = 1;
Garbage-Collector Interface
Parallel Full GC for G1
Application Class-Data Sharing
Thread-Local Handshakes
Remove the Native-Header Generation Tool (javah)
Additional Unicode Language-Tag Extensions
Heap Allocation on Alternative Memory Devices
Experimental Java-Based JIT Compiler ex: Graal vm
Root Certificates
Time-Based Release Versioning
Good blogs : Journaldev
Java11:
Java11 is long term support(LTS) release. If we download JDK11 from oracle and use it in production then it's enterprise level and have to be paid.
Nest-Based Access Control
Dynamic Class-File Constants
Improve Aarch64 Intrinsics
Epsilon: A No-Op Garbage Collector
Remove the Java EE and CORBA Modules
HTTP Client (Standard)
Local-Variable Syntax for Lambda Parameters
Key Agreement with Curve25519 and Curve448
Unicode 10
Flight Recorder
ChaCha20 and Poly1305 Cryptographic Algorithms
Launch Single-File Source-Code Programs
Low-Overhead Heap Profiling
Transport Layer Security (TLS) 1.3
ZGC: A Scalable Low-Latency Garbage Collector
(Experimental) -
Deprecate the Nashorn JavaScript Engine
Deprecate the Pack200 Tools and API
Java12:
Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
Microbenchmark Suite
Switch Expressions (Preview)
JVM Constants API
One AArch64 Port, Not Two
Default CDS Archives
Abortable Mixed Collections for G1
Promptly Return Unused Committed Memory from G1
Good Blogs : whizlabs journaldev
Java13:
Dynamic CDS Archives
ZGC: Uncommit Unused Memory
Reimplement the Legacy Socket API
Switch Expressions (Preview)
Text Blocks (Preview)
Top comments (0)