Lambda Expressions | Introduced lambda expressions for functional programming. | No new changes; continued support. | No new changes; continued support. |
Stream API | Added Stream API for processing sequences of elements. | No new changes; continued support. | No new changes; continued support. |
Optional Class | Introduced Optional to avoid null references. | No new changes; continued support. | No new changes; continued support. |
Default Methods in Interfaces | Allowed interfaces to have default methods. | No new changes; continued support. | No new changes; continued support. |
New Date and Time API | Introduced java.time package. | No new changes; continued support. | No new changes; continued support. |
Nashorn JavaScript Engine | Introduced Nashorn for executing JavaScript. | Deprecated in later versions. | Removed Nashorn. |
Garbage Collection | G1 Garbage Collector became the default. | Improved G1 GC, better performance. | Further improvements in G1 GC and new garbage collection options. |
HTTP Client API | Not included. | Introduced a new HttpClient API. | Continued support and enhancements. |
String Methods | New methods like String.join() added. | No new changes; continued support. | New methods such as String.repeat() , String.lines() , and String.strip() . |
Local-Variable Type Inference | Not included. | Introduced var for local variable type inference. | Continued support for var . |
Flight Recorder | Not available. | Introduced as an open-source feature. | Continued support with enhancements. |
Sealed Classes | Not included. | Not included. | Introduced sealed classes for more control over inheritance. |
Pattern Matching for instanceof | Not included. | Not included. | Introduced for cleaner type checks. |
Enhanced Switch Expressions | Not included. | Not included. | Introduced enhanced switch expressions for simpler syntax. |
Deprecation of Applet API | Not included. | Deprecated the Applet API. | Continued deprecation; Applet API removed in future versions. |
Top comments (1)
The flight recorder has been available also in JDK8 (docs.oracle.com/en/java/java-compo...)
The "var" (local type inference) has been introduced in JDK 10 (openjdk.org/projects/jdk/10/) and not in JDK 11.
For changes in the API I strongly recommend to check: javaalmanac.io/jdk/11/apidiff/8/ (from 8 to 11) and javaalmanac.io/jdk/17/apidiff/11/ (from 11 to 17)...
In JDK 10:
mapMultiToDouble
Just to mention a few...
String.repeat, String.lines, String.strip have been introduced in JDK 11 and not in JDK 17...
(javaalmanac.io/jdk/11/apidiff/8/)
String.transform (JDK12)
String.stripIndent,String.translateEscapes,String.formatted in JDK 15,