All Java Releases, features and examples

New features, examples, release notes of all Java Releases from past till date in one place. Refer below table.

Java VersionFeatures
Java 11 (September 2018 - October 2018)

Oracle Java 11 Release Notes
⦿ Run program without "javac" i.e direclty "java HelloWorld.java". Example
⦿ Licensing changes in Oracle JDK. Details from Oracle
⦿ Important removals - Webstart, JavaFX, Java Mission Control (JMC), Thread.destroy() and Thread.stop(Throwable) Methods
⦿ New Garbage Collectors - Z Garbage Collector, Epsilon GC
Java 10 (March 2018 - September 2018)

Oracle Java 10 Release Notes
⦿ Local variable type inference - var type. Example
⦿ APIs for Creating Unmodifiable Collections
Java 9 (September 2017 - March 2018)

Oracle Java 9 whats new
Oracle Java 9 features
⦿ Module System (Next level of encapsulation). Example
⦿ Underscore character is not a legal name. Example
⦿ Private interface methods. Example
⦿ Factory methods for collections. Example
Java 8 (March 2014 - January 2019)

Oracle Java 8 whats new
⦿ Lambda expressions. Example
⦿ Stream API for collections. Example
⦿ Method references. Example
⦿ Default Method implementation in interfaces. Example
⦿ Comparator improvements. Example
Java 7 (July 2011 - April 2015)

Oracle Java 7 Release Notes
⦿ Strings in switch statement
⦿ Try with resources
⦿ Multi exception catching. Example
⦿ Generic methods. Example
⦿ Introduced java.lang.invoke package for dynamic language support. Example
⦿ New Garbage Collectors - GarbageFirst (G1)
Java 6 (December 2006 - April 2013)

Oracle Java 6 features
⦿ New collection interfaces like Deque, NavigableSet, NavigableMap , ConcurrentNavigableMap. Example
Java 5 (September 2004 - November 2009)

Oracle Java 5 Release Notes
⦿ Generics
⦿ Enhanced for loop
⦿ Autoboxing / Unboxing
⦿ Typesafe enums
⦿ Varargs
⦿ Static Imports
⦿ Annotations
⦿ Introduced java.util.concurrent.*