- Java 1.5 - Genrics, Autoboxing
- Java 1.6
- Java 1.7
- Java 1.8 - big bang -2014 - Funcational Programming
- Java 9 - 2017 - Modularization
- Java 10 - Local var , 11, 12...- Java 11 has long term support, Java 17 will have long term support
- Java 11 - Epsilon, No javac mandatory, String, Files, var in lambda
- Java 14 - 2020 March, Switch as expression production ready, CMS no more, ZGC came
- Java 15 - Record pilot
- Java 16 - March 2021 - Record class
Functional Interface Lambda Method Reference Streams Default parNewGC Interface static & default methods Local Date Time API Collections updates
Modularity, JMods Multi release jar jlink JShell Collection Factory .of() takeWhile(), dropWhile() in stream Optional.stream() G1 GC Default try catch with effectively final resource
var - local variable type inference Collection. copyOf() Stream collect to toUnmodifiableList() Http2 support Optional.orElseThrow(no args) ContainerAwareness
var in lambda Epsilon GC - testing String lines(), isBlank(), strip() Files.readString(), writeString() Collection .toArray() HttpClient javac is done by java <file.java>
Switch as expression - pilot
Switch as expression with yield -pilot
Switch expression production
record type for DTO -pilot
record type production ready