Intro repo for java 8 - 9 - 10 - 11 - 12 - 13 - 14
https://github.com/dwmkerr/hacker-laws#principles
- DRY
- KISS
- YAGNI
https://education.oracle.com/java-se-8-new-features/courP_4271
- Functional interfaces and Lambda expressions
- Method reference
- forEach
- default and static methods in interfaces
- API date, time
- Streams
- Optional
- CompletableFuture
- Other general improvements about IO, concurrency and core APIs
https://www.oracle.com/java/technologies/javase/9all-relnotes.html
- Collection Factory
- Completable Future improvements
- Stream improvements
- Module System
- Encapsulate Most Internal APIs
https://openjdk.java.net/projects/jdk/10/
- Local-Variable Type Inference
- Consolidate the JDK Forest into a Single Repository
- 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
- Root Certificates
- Time-Based Release Versioning
https://www.oracle.com/technetwork/java/javase/11-relnote-issues-5012449.html
- JEP 321 HTTP Client (Standard)
- Lazy Allocation of Compiler Threads:
-XX:+UseDynamicNumberOfCompilerThreads
- ZGC
- Epsilon GC
- Introduction of "var" keyword
- Improved Stream lib
- Improved String class
https://www.oracle.com/java/technologies/javase/12all-relnotes.html
- switch (preview)
- File.mismatch
- Compact Number Formatting
- Teeing Collectors
- improved String class
- Pattern matching for instanceof (preview)
https://openjdk.java.net/projects/jdk/13/
- Dynamic CDS Archives
- ZGC: Uncommit Unused Memory
- Reimplement the Legacy Socket API
- Switch Expressions (Preview)
- Text Blocks (Preview)
https://openjdk.java.net/projects/jdk/14/
- Pattern Matching for instanceof (Preview)
- Packaging Tool (Incubator)
- NUMA-Aware Memory Allocation for G1
- JFR Event Streaming
- Non-Volatile Mapped Byte Buffers
- Helpful NullPointerExceptions
- Records (Preview)
- Switch Expressions (Standard)
- Deprecate the Solaris and SPARC Ports
- Remove the Concurrent Mark Sweep (CMS) Garbage Collector
- ZGC on macOS
- ZGC on Windows
- Deprecate the ParallelScavenge + SerialOld GC Combination
- Remove the Pack200 Tools and API
- Text Blocks (Second Preview)
- Foreign-Memory Access API (Incubator)