Skip to content

Commit faac15e

Browse files
committed
JDK 24: update JEPs
1 parent 814de50 commit faac15e

File tree

3 files changed

+37
-9
lines changed

3 files changed

+37
-9
lines changed

README.md

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ A project to explore more about the new features from Java 8 through Java 21.
1313

1414
* [Java 24](java-24/)
1515
* Generational Shenandoah (experimental)
16+
* Compact Object Headers (experimental)
1617
* Prepare to Restrict the Use of JNI
1718
* Late Barrier Expansion for G1
1819
* Key Derivation Function API (preview)
@@ -27,39 +28,47 @@ A project to explore more about the new features from Java 8 through Java 21.
2728
* [Java 23](java-23/) (Sep, 2024)
2829
* Primitive Types in Patterns, `instanceof` and `switch` (preview)
2930
* Class-File API (preview 2)
30-
* Stream Gatherers (preview 2)
3131
* Markdown Documentation Comments
32+
* Vector API (incubator)
33+
* Stream Gatherers (preview 2)
34+
* Deprecate the Memory-Access Methods in Unsafe for Removal
35+
* ZGC Generational Mode by Default
3236
* Module Import Declarations (preview)
3337
* Implicity Declared Classes and Instance Main Methods (preview 3)
3438
* Structured Concurrency (preview 3)
3539
* Scoped Value (preview 3)
3640
* Flexible Constructor Bodies (preview 2)
3741

3842
* [Java 22](java-22/) (Mar, 2024)
43+
* Region Pinning for G1
3944
* Statements before `super` (preview)
4045
* FFM API (standard)
4146
* Unnamed Variable & Patterns
47+
* Class-File API (preview)
4248
* Launch Multi-File Source-Code Programs
4349
* String Templates (preview 2)
50+
* Vector API (incubator)
4451
* Stream Gatherers (preview)
4552
* Structured Concurrency (preview 2)
4653
* Scoped Value (preview 2)
47-
* Class-File API (preview)
4854
* Implicity Declared Classes and Instance Main Methods (preview 2)
4955

5056
* [Java 21](java-21/) (LTS; Sep, 2023)
51-
* Virtual Threads (standard) :rocket:
57+
* String Templates (preview)
58+
* Sequenced Collections
59+
* Generational ZGC
5260
* Record Pattern (standard) :rocket:
5361
* Pattern Matching for `switch` (standard) :rocket:
54-
* Sequenced Collections
55-
* String Templates (preview)
5662
* Foreign Function & memory API (preview 3)
5763
* Unnamed Patterns and Variables (preview)
64+
* Virtual Threads (standard) :rocket:
5865
* Unnamed Classes and Instance Main Methods (preview)
66+
* Scoped Value (preview)
67+
* Vector API (incubator)
68+
* Deprecate the Windows 32-bit x86 Port for Removal
5969
* Prepare to Disallow the Dynamic Loading of Agents
6070
* KEM API
6171
* Structured Concurrency (preview)
62-
* Scoped Value (preview)
6372

6473
* [Java 20](java-20/) (Mar, 2023)
6574
* Scoped values (incubator)
@@ -68,6 +77,7 @@ A project to explore more about the new features from Java 8 through Java 21.
6877
* Foreign Function & memory API (preview 2)
6978
* Virtual Threads (preview 2)
7079
* Structured concurrency (second incubator)
80+
* Vector API (incubator)
7181

7282
* [Java 19](java-19/) (Sep, 2022)
7383
* Virtual Thread (preview) :rocket:
@@ -84,12 +94,20 @@ A project to explore more about the new features from Java 8 through Java 21.
8494
* Deprecated method `finalize`
8595

8696
* [Java 17](java-17/) (LTS; Sep, 2021)
87-
* Sealed classes (standard)
88-
* Pattern matching for `switch` (preview)
97+
* Restore Always-Strict Floating-Point Semantics
8998
* Enhanced Pseudo-Random Number Generator
90-
* Deprecate the Applet API for Removal
9199
* New macOS rendering for Java 2D API
100+
* macOS/AArch64 Port
101+
* Deprecate the Applet API for Removal
102+
* Strongly Encapsulate JDK Internals
103+
* Pattern matching for `switch` (preview)
104+
* Remove RMI Activation
105+
* Sealed Classes (standard)
92106
* Remove the experimental AOT and JIT compiler
107+
* Deprecate the Security Manager for Removal
108+
* Foreign Function & Memory API (incubator)
109+
* Vector API (fourth incubator)
110+
* Context-Specific Deserialization Filters
93111

94112
* [Java 16](java-16/) (Mar, 2021)
95113
* Records (standard)

java-17/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ To run each example use: `java --enable-preview --source 17 <FileName.java>`
2222
## Features
2323

2424
* **Sealed Classes (standard)**
25+
* promotion to standard without change
2526
* **Pattern Matching for `switch` (preview)**
2627
* improved switch to support pattern matching for types (like `instanceof`)
2728
* support for `null` case

java-24/README.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ To run each example use: `java --enable-preview --source 24 <FileName.java>`
55
## JEPs
66

77
* [404](https://openjdk.org/jeps/404) - Generational Shenandoah (Experimental)
8+
* [450](https://openjdk.org/jeps/450) - Compact Object Headers (Experimental)
89
* [472](https://openjdk.org/jeps/472) - Prepare to Restrict the Use of JNI
910
* [475](https://openjdk.org/jeps/475) - Late Barrier Expansion for G1
1011
* [478](https://openjdk.org/jeps/478) - Key Derivation Function API (Preview)
@@ -70,6 +71,8 @@ To run each example use: `java --enable-preview --source 24 <FileName.java>`
7071
System.out.println("Method " + mm.methodName().stringValue());
7172
}
7273
```
74+
* **Steam Gatherers**
75+
* promotion to standard without change
7376
* **Scoped Values**
7477
* re-preview with API changes
7578
* removed methods `callWhere` and `runWhere` to make API more fluent
@@ -78,6 +81,12 @@ To run each example use: `java --enable-preview --source 24 <FileName.java>`
7881
* `ScopedValue.where(SCOPE_A, "my-value").where(SCOPE_B, "other-value").run(() -> {})`
7982
* **Primitive Types in Patterns, instanceof, and switch**
8083
* re-preview without change
84+
* **ZGC - Remove the Non-Generational Mode**
85+
* remove non-generational mode of the ZGC to reduce maintenance cost
86+
* changes in command-line options:
87+
* `-XX:+UseZGC`: will use generational ZGC
88+
* `-XX:+UseZGC -XX:+ZGenerational`: will use generational ZGC and print a warning about obsolete option
89+
* `-XX:+UseZGC -XX:-ZGenerational`: will use generational ZGC and print a warning about obsolete option
8190

8291
## Links
8392

0 commit comments

Comments
 (0)