Java Latest - Java Deep Dive
Main Speaker:
Gonen Israeli
Tracks:
CodeSeminar Categories:
BackendCode
Programming
Course ID:
50943Date:
27/06/2024Time:
Daily seminar9:00-16:30
Location:
Daniel Hotel, HerzliyaOverview
The world of Java is constantly changing. While getting from Java 1 to Java 9 took 22 years, now a new Java version is released every 6 months, and a new long-term support version every few years. Java 8 brought us lambdas, and the streaming functional programming revolution. Java 9 added modules and a built-in mature API for Reactive programming. Java 10 added local type deduction with vars, and the list goes on.
This seminar explores the new features included in 9 – 16 short & long-term releases and introduces the latest APIs, environmental updates, new utilities and deprecated ones.
Who Should Attend
Experienced Java developers that want to use Java latest releases and use some of Java new syntax, API and environment features
Prerequisites
Rich experience in java development
Course Contents
JVM Java 9
- API & code
- Reactive programming with flow
- Collection Factories
- Stream API new features
- Private interface methods
- HTTP/2 API
- Stack walking.
- Environmental
- Modular Java & Jlink
- Jshell
- Multi version jars
- G1 made default.
Java 10
- API & code
Java 11
- Syntax
- var supported in LAMBDA.
- String new methods.
- not()
- incubator becomes java.net.
- Reference clone() update
- Environmental
- Removed tools.
- Excluded APIs
- Application CDS -Module support
- Single-file launch
- Compiling threads lazy allocation
- G1 update
- ZGC – Experimental
Java 12
- Syntax
- Switch assignments.
- String new methods.
- teeing()
- Environments
- G1 abortion policy
Java 13
- Syntax & APIs
- Text Blocks – triple quotes
- New Methods in String Class for Text Blocks
- Switch Expressions Enhancements
- Filesystem’s – new Filesystem() Method
- Re-implement the Legacy Socket API
- Environment
- Dynamic CDS Archive
- ZGC: Un-commit Unused Memory
Java 14
- Syntax & APIs
- Switch Expressions made permanent.
- Text Blocks – triple quotes – separator’s
- ‘instanceof’ pattern matching
- ‘record’ data classes
- Environment
- NullPointerException – enhanced reporting
Java 15
- Syntax & APIs
- Records
- Sealed Classes
- ‘instanceof’ pattern matching
- ‘Foreign Memory API
- Environment
-
- ZGC and Shenandoah nonexperimental
- Deprecated features: Nashorn Javascript, Biased Locking
Java 16
- Syntax & API
- ‘instanceof’ pattern matching and sealed classes become standard
- Foreign Memory API Improvements: shared segment
- Vector API
- API additions: Stream.toList()
- Environment
- ZGC Concurrent Thread Stack Processing
- Unix Domain Socket Channels
Java 17
API & Code
- New Random API, sealed classes become standard
- Pattern Matching Switch,,Foreign Function API
Java 18
API & Code
- UTF as Default Charset, Simple Web Server
- Continuing API previews and deprecated APIs
Java 19
API & Code
- Virtual Threads, Structured Concurrency,Record Patterns
Java 20
- Scoped Values
Java 21
- Sequenced Collections, String Templates, Unnamed Patterns and Variables
- Unnamed classes and global main, API changes
Java 22 ( Not yet released at the time of this writing )
- Stream gatherers, statements before super, class file API, multi file Java launcher