@@ -30,7 +30,9 @@ JDK 25 共有 18 个新特性,这篇文章会挑选其中较为重要的一些
3030
3131![ ] ( https://oss.javaguide.cn/github/javaguide/java/new-features/jdk8~jdk24.png )
3232
33- ## JEP 506: 作用域值
33+ ## JDK 25
34+
35+ ### JEP 506: 作用域值
3436
3537作用域值(Scoped Values)可以在线程内和线程间共享不可变的数据,优于线程局部变量 ` ThreadLocal ` ,尤其是在使用大量虚拟线程时。
3638
@@ -47,7 +49,7 @@ ScopedValue.where(V, <value>)
4749
4850作用域值通过其“写入时复制”(copy-on-write)的特性,保证了数据在线程间的隔离与安全,同时性能极高,占用内存也极低。这个特性将成为未来 Java 并发编程的标准实践。
4951
50- ## JEP 512: 紧凑源文件与实例主方法
52+ ### JEP 512: 紧凑源文件与实例主方法
5153
5254该特性第一次预览是由 [ JEP 445] ( https://openjdk.org/jeps/445 " JEP 445 ") (JDK 21 )提出,随后经过了 JDK 22 、JDK 23 和 JDK 24 的改进和完善,最终在 JDK 25 顺利转正。
5355
@@ -71,7 +73,7 @@ void main() {
7173
7274这是为了降低 Java 的学习门槛和提升编写小型程序、脚本的效率而迈出的一大步。初学者不再需要理解 ` public static void main(String[] args) ` 这一长串复杂的声明。对于快速原型验证和脚本编写,这也使得 Java 成为一个更有吸引力的选择。
7375
74- ## JEP 519: 紧凑对象头
76+ ### JEP 519: 紧凑对象头
7577
7678该特性第一次预览是由 [ JEP 450] ( https://openjdk.org/jeps/450 " JEP 450 ") (JDK 24 )提出,JDK 25 就顺利转正了。
7779
@@ -83,7 +85,7 @@ void main() {
8385 ` $ java -XX:+UnlockExperimentalVMOptions -XX:+UseCompactObjectHeaders ... ` ;
8486- JDK 25 之后仅需 ` -XX:+UseCompactObjectHeaders ` 即可启用。
8587
86- ## JEP 521: 分代 Shenandoah GC
88+ ### JEP 521: 分代 Shenandoah GC
8789
8890Shenandoah GC 在 JDK12 中成为正式可生产使用的 GC,默认关闭,通过 ` -XX:+UseShenandoahGC ` 启用。
8991
@@ -96,7 +98,7 @@ Shenandoah GC 需要通过命令启用:
9698- JDK 24 需通过命令行参数组合启用:` -XX:+UseShenandoahGC -XX:+UnlockExperimentalVMOptions -XX:ShenandoahGCMode=generational `
9799- JDK 25 之后仅需 ` -XX:+UseShenandoahGC -XX:ShenandoahGCMode=generational ` 即可启用。
98100
99- ## JEP 507: 模式匹配支持基本类型 (第三次预览)
101+ ### JEP 507: 模式匹配支持基本类型 (第三次预览)
100102
101103该特性第一次预览是由 [ JEP 455] ( https://openjdk.org/jeps/455 " JEP 455 ") (JDK 23 )提出。
102104
@@ -112,7 +114,7 @@ static void test(Object obj) {
112114
113115这样就可以像处理对象类型一样,对基本类型进行更安全、更简洁的类型匹配和转换,进一步消除了 Java 中的模板代码。
114116
115- ## JEP 505: 结构化并发(第五次预览)
117+ ### JEP 505: 结构化并发(第五次预览)
116118
117119JDK 19 引入了结构化并发,一种多线程编程方法,目的是为了通过结构化并发 API 来简化多线程编程,并不是为了取代` java.util.concurrent ` ,目前处于孵化器阶段。
118120
@@ -136,7 +138,7 @@ JDK 19 引入了结构化并发,一种多线程编程方法,目的是为了
136138
137139结构化并发非常适合虚拟线程,虚拟线程是 JDK 实现的轻量级线程。许多虚拟线程共享同一个操作系统线程,从而允许非常多的虚拟线程。
138140
139- ## JEP 511: 模块导入声明
141+ ### JEP 511: 模块导入声明
140142
141143该特性第一次预览是由 [ JEP 476] ( https://openjdk.org/jeps/476 " JEP 476 ") (JDK 23 )提出,随后在 [ JEP 494] ( https://openjdk.org/jeps/494 " JEP 494 ") (JDK 24)中进行了完善,JDK 25 顺利转正。
142144
@@ -161,7 +163,7 @@ public class Example {
161163}
162164```
163165
164- ## JEP 513: 灵活的构造函数体
166+ ### JEP 513: 灵活的构造函数体
165167
166168该特性第一次预览是由 [ JEP 447] ( https://openjdk.org/jeps/447 " JEP 447 ") (JDK 22)提出,随后在 [ JEP 482 ] ( https://openjdk.org/jeps/482 " JEP 482 ") (JDK 23)和 [ JEP 492] ( https://openjdk.org/jeps/492 " JEP 492 ") (JDK 24)经历了预览,JDK 25 顺利转正。
167169
@@ -197,7 +199,7 @@ class Employee extends Person {
197199}
198200```
199201
200- ## JEP 508: 向量 API(第十次孵化)
202+ ### JEP 508: 向量 API(第十次孵化)
201203
202204向量计算由对向量的一系列操作组成。向量 API 用来表达向量计算,该计算可以在运行时可靠地编译为支持的 CPU 架构上的最佳向量指令,从而实现优于等效标量计算的性能。
203205
0 commit comments