DEV Community

sanjay shivanna
sanjay shivanna

Posted on

Moving from Java8 to JavaX...

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)