- Lambda
- Stream
- Method reference
- Interface default method
- Interface static method
- Optional
- Try-with-resources improvement
- Diamond operator for anonymous inner class
- Interface private method
- New http client (incubator module)
- Jigsaw
- Var keyword (inferred type)
- ToUnmodifiable*
- Docker container awareness
- New string methods (is blank, strip, strip leading, repeat)
- Not predicate
- Collection with toArray function (int function arg)
- Var in lambda
- New http client (standard feature)
- Running Java Files
- New string methods (indent, ...)
- Mismatch between files
- Teeing collector
- Switch Expressions (Preview)
- Pattern Matching for instanceof (Preview)
- Z garbage collector low-latency garbage collection mechanism (returns uncommitted memory to the operating system by default)
- Switch expression
- String text blocks
- Pattern Matching Type Checks (Preview)
- Records (Preview)
- Records (Preview)
- Sealed classes (Preview)
- Hidden classes
- Pattern Matching Type Checks (Preview)
- Records
- Pattern Matching Type Checks
- Sealed classes (Second preview)
- Vector API (First Incubator)
- Sealed classes
- Vector API (Second Incubator)
- Pattern Matching for switch (preview)
- UTF-8 by Default
- Simple Web Server
- Code Snippets in Java API Documentation
- Vector API (Third Incubator)
- Nested Record Pattern Matching (Preview)
- Pattern Matching for Switch (Preview)
- Virtual Threads (Preview)
- Record Patterns improvements: usage in for-each
- Unnamed Patterns and Variables (Preview)
- Unnamed Classes and Instance Main Methods (Preview)
- String Templates (Preview)
- Unnamed Patterns and Variables (Final)
- Foreign Function & Memory API
- Stream Gatherers
- Class-File API
- Statements Before Super (Preview)
- Structured Concurrency (Preview)
- Scoped Values (Preview)
- Implicitly Declared Classes and Instance Main Methods (Preview)
- Vector API (7th Incubating version)