Why business should migrate from Java 8 to Java 11?
Java 8 to Java 11 change set: https://javaalmanac.io/jdk/11/apidiff/8/
Plan to release LTS version each 2 years instead of each 3 years. Ref: https://mreinhold.org/blog/forward-even-faster
Features:
- Module System (JEP 261) JDK9
- Private Methods in Interfaces (JEP 213) JDK9
- Reactive Streams (JEP 266) JDK9
- Graal VM (JEP 317) JDK10
- Keyword var (JEP 286) JDK10
- Additional Unicode Language-Tag Extensions (JEP 314) JDK10
- Experimental Epsilon GC (JEP 318) JDK11
- Experimental ZGC (JEP 333) JDK11
- Local Variable Syntax for Lambda Parameters (JEP 323) JDK11
- HTTP Client (JEP 321) JDK11
- Unicode 10 Support (JEP 327) JDK11
Tools:
- jshell (JEP 222) JDK9
- Multi-Release JAR Files (JEP 238) JDK9
- jlink (JEP 282) JDK9
- Flight Recorder (JEP 328) JDK11
Performance & Security Improvement:
- Compact Strings (JEP 254) JDK9
- Parallel Full GC for G1 (JEP 307) JDK10
- Thread-Local Handshakes (JEP 312) JDK10
- Alternative Memory Devices (JEP 316) JDK10
- Low-Overhead Heap Profiling (JEP 331) JDK11
- Improve Aarch64 Intrinsics (JEP 315) JDK11
- New Cryptographic Algorithms (JEP 324, JEP 329) JDK11
- TLS 1.3 (JEP 332) JDK11
- Single Source File Launch (JEP 330) JDK11