@@ -4,20 +4,22 @@ To run each example use: `java --enable-preview --source 21 <FileName.java>`
4
4
5
5
## JEPs
6
6
7
- * [ 404] ( https://openjdk.java.net /jeps/404 ) - Generational Shenandoah (Experimental)
8
- * [ 430] ( https://openjdk.java.net /jeps/430 ) - String Templates (Preview)
9
- * [ 431] ( https://openjdk.java.net /jeps/431 ) - Sequenced Collections
10
- * [ 439] ( https://openjdk.java.net /jeps/439 ) - Generational ZGC
11
- * [ 440] ( https://openjdk.java.net /jeps/440 ) - Record Patterns
12
- * [ 441] ( https://openjdk.java.net /jeps/441 ) - Pattern Matching for switch
7
+ * [ 404] ( https://openjdk.org /jeps/404 ) - Generational Shenandoah (Experimental; Target to drop )
8
+ * [ 430] ( https://openjdk.org /jeps/430 ) - String Templates (Preview)
9
+ * [ 431] ( https://openjdk.org /jeps/431 ) - Sequenced Collections
10
+ * [ 439] ( https://openjdk.org /jeps/439 ) - Generational ZGC
11
+ * [ 440] ( https://openjdk.org /jeps/440 ) - Record Patterns
12
+ * [ 441] ( https://openjdk.org /jeps/441 ) - Pattern Matching for switch
13
13
* [ 442] ( https://openjdk.org/jeps/442 ) - Foreign Function & Memory API (Third Preview)
14
14
* [ 443] ( https://openjdk.org/jeps/443 ) - Unnamed Patterns and Variables (Preview)
15
15
* [ 444] ( https://openjdk.org/jeps/444 ) - Virtual Threads
16
16
* [ 445] ( https://openjdk.org/jeps/445 ) - Unnamed Classes and Instance Main Methods (Preview)
17
+ * [ 446] ( https://openjdk.org/jeps/446 ) - Scoped Values (Preview)
17
18
* [ 448] ( https://openjdk.org/jeps/448 ) - Vector API (Sixth Incubator)
18
19
* [ 449] ( https://openjdk.org/jeps/449 ) - Deprecate the Windows 32-bit x86 Port for Removal
19
20
* [ 451] ( https://openjdk.org/jeps/451 ) - Prepare to Disallow the Dynamic Loading of Agents
20
21
* [ 452] ( https://openjdk.org/jeps/452 ) - Key Encapsulation Mechanism API
22
+ * [ 453] ( https://openjdk.org/jeps/453 ) - Structured Concurrency (Preview)
21
23
22
24
## Features
23
25
@@ -26,6 +28,13 @@ To run each example use: `java --enable-preview --source 21 <FileName.java>`
26
28
* changed to make virtual threads always support thread-local
27
29
* in preview releases was possible to create a virtual thread without thread-local support
28
30
* flag ` jdk.traceVirtualThreadLocals ` to show the strack trace when a virtual threads sets a value in thread-local variable
31
+ * Scoped values
32
+ * promoted from incubated to preview feature
33
+ * moved from pacote ` jdk.incubator.concurrent ` to ` java.util.concurrent `
34
+ * Structured concurrency
35
+ * promoted from incubated to preview feature
36
+ * moved from pacote ` jdk.incubator.concurrent ` to ` java.util.concurrent `
37
+ * changed method ` StructuredTaskScope.fork ` to return a ` Subtask ` instanceof of a ` Future `
29
38
* Record patterns
30
39
* promotion to standard
31
40
* the main change is remove the support for record pattern in header of an enhanced for loop
@@ -124,6 +133,7 @@ To run each example use: `java --enable-preview --source 21 <FileName.java>`
124
133
* unnamed class:
125
134
* any method declared in a source file without an enclosed class will be considered to be member of an unnamed top-level class
126
135
* the compiler requires an unnamed method to have a valid main method to be launched
136
+ * we cannot use javadoc tool to generate documation from a unnamed class (doesn't have a accessible API from other class)
127
137
* unnamed class is always final and cannot implement or extends any class other than `Object`
128
138
* is equivalent to the following usage of anonymous class declaration:
129
139
```java
0 commit comments