




JDK12带来了许多新功能,包括SwitchExpressions的预览和Garbage-First(G1)收集器的可丢弃混合集合。
189 Shenandoah:ALow-Pause-TimeGarbageCollector(Experimental) 低暂停时间的GC
230 MicrobenchmarkSuite 微基准测试套件
325 SwitchExpressions(Preview) Switch表达式
334 JVMConstantsAPI JVM常量API
340 OneAArch64Port,NotTwo 只保留一个AArch64实现
341 DefaultCDSArchives 默认类数据共享归档文件
344 AbortableMixedCollectionsforG1 可中止的G1MixedGC
346 PromptlyReturnUnusedCommittedMemoryfromG1 G1及时返回未使用的已分配内存
Shenandoah:低暂停时间的GC(实验性功能)
新增了一个名为Shenandoah的 GC算法,通过与正在运行的Java线程同时进行evacuation工作来减少GC暂停时间。使用Shenandoah的暂停时间与堆大小无关,这意味着无论堆是200MB还是200GB,都将具有相同的暂停时间。
MicrobenchmarkSuite
微基准测试套件
JDK源码中新增了一套微基准测试套件,使开发人员可以轻松运行现有的微基准测试并创建新的基准测试。
SwitchExpressions(Preview)
Switch表达式(预览功能)
扩展了switch语句,使其不仅可以作为语句(statement),还可以作为表达式(expression),并且两种写法都可以使用传统的switch语法,或者使用简化的“caseL->”模式匹配语法作用于不同范围并控制执行流。这些更改将简化日常编码工作,并为switch中的模式匹配(JEP305)做好准备。
JVMConstantsAPI
JVM常量API
引入API来模拟关键类文件和运行时工件的描述,特别是可从常量池加载的常量。在新的java.lang.invoke.constant包中定义了一系列基于值的符号引用(JVMS5.1)类型,它们能够描述每种可加载常量。符号引用以纯 nominal形式描述可加载常量,与类加载或可访问性上下文区分开。有些类可以作为自己的符号引用(例如String),而对于可链接常量,定义了一系列符号引用类型(ClaSSDesc、MethodTypeDesc、MethodHandleDesc和DynamicConstantDesc),它们包含描述这些常量的nominal信息。
OneAArch64Port,NotTwo
只保留一个AArch64实现
删除了与arm64相关的所有源,同时保留32位ARM实现和64位aarch64。
JDK中存在两套 64位ARM实现,主要存在于src/hotspot/cpu/arm和open/src/hotspot/cpu/aarch64目录。两者都实现了 aarch64,现在将只保留后者,删除由 Oracle提供的arm64。这将使贡献者将他们的精力集中在单个64位ARM实现上,并消除维护两套实现所需的重复工作。
DefaultCDSArchives
默认类数据共享归档文件
针对64位平台,使用默认类列表增强JDK构建过程以生成类数据共享(classdata-sharing,CDS)档。
AbortableMixedCollectionsforG1
可中止的G1MixedGC
如果G1MixedGC存在超出暂停目标的可能性,则使其可中止。
PromptlyReturnUnusedCommittedMemoryfromG1
G1及时返回未使用的已分配内存
增强G1GC,在空闲时自动将Java堆内存返回给操作系统。为了实现向操作系统返回最大内存量的目标,G1将在应用程序不活动期间定期执行或触发并发周期以确定整体Java堆使用情况。这将导致它自动将Java堆的未使用部分返回给操作系统。而在用户控制下,可以可选地执行完整的GC,以使返回的内存量最大化。
低暂停时间垃圾收集器(JEP189)天涯明月刀qq微信互通版下载-天涯明月刀qq微信互通版0.0.48腾讯版
代号为“Shenandoah”的实验性功能增加了一种新算法,旨在通过与正在运行的Java线程同时处理疏散工作来减少GC暂停时间。
Microbenchmark套房(JEP230)
此更新为JDK源代码添加了一套基本的微基准测试,使开发人员可以轻松运行现有的微基准测试并创建新的基准测试。
切换表达式(JEP325)
作为此版本中的预览提供,此功能扩展了switch语句,因此可以将其用作语句或表达式。它允许两种形式使用“传统”或“简化”范围和控制流行为。该公司表示,“这些改变将简化日常编码,并为切换中使用模式匹配(JEP305)做好准备。”
JVM常量API(JEP334)
此API旨在为关键类文件和运行时工件的名义描述建模,特别是可从常量池加载的常量,该常量池存储类中字节码指令的操作数。
一个AArch64端口,而不是两个(JEP340)
此功能删除了与arm64端口相关的所有源,同时保留了32位ARM端口和64位aarch64端口。此功能允许所有贡献者将他们的精力集中在单个64位ARM实现上,并消除了维护两个端口所需的重复工作。
默认CDS档案(JEP341)
此功能旨在增强JDK构建过程,以使用64位平台上的默认类列表生成类数据共享(CDS)归档。
G1的可流动混合收集(JEP344)
此增强功能使G1混合集合可能会超出暂停目标。
从G1快速返回未使用的承诺内存(JEP346)
此功能旨在允许G1垃圾收集器在空闲时自动将Java堆内存返回到操作系统。
2025/10/22 08:29/www/wwwroot/baoma/wp-admin/css/colors/red/template4.php on line 145
">
支持( 25 ) 盖楼(回复)
2025/11/06 04:23/www/wwwroot/baoma/wp-admin/css/colors/red/template4.php on line 145
">
支持( 129 ) 盖楼(回复)
2025/11/04 05:02/www/wwwroot/baoma/wp-admin/css/colors/red/template4.php on line 145
">
支持( 164 ) 盖楼(回复)
2025/11/01 07:20/www/wwwroot/baoma/wp-admin/css/colors/red/template4.php on line 145
">
支持( 178 ) 盖楼(回复)
2025/10/23 15:52/www/wwwroot/baoma/wp-admin/css/colors/red/template4.php on line 145
">
支持( 13 ) 盖楼(回复)
2025/11/02 09:54/www/wwwroot/baoma/wp-admin/css/colors/red/template4.php on line 145
">
支持( 131 ) 盖楼(回复)
2025/11/09 19:24/www/wwwroot/baoma/wp-admin/css/colors/red/template4.php on line 145
">
支持( 146 ) 盖楼(回复)
2025/10/24 20:29/www/wwwroot/baoma/wp-admin/css/colors/red/template4.php on line 145
">
支持( 69 ) 盖楼(回复)
2025/11/04 22:26/www/wwwroot/baoma/wp-admin/css/colors/red/template4.php on line 145
">
支持( 152 ) 盖楼(回复)
2025/11/06 11:31/www/wwwroot/baoma/wp-admin/css/colors/red/template4.php on line 145
">
支持( 49 ) 盖楼(回复)
2025/11/05 06:20/www/wwwroot/baoma/wp-admin/css/colors/red/template4.php on line 145
">
支持( 42 ) 盖楼(回复)
2025/11/08 06:36/www/wwwroot/baoma/wp-admin/css/colors/red/template4.php on line 145
">
支持( 63 ) 盖楼(回复)
/www/wwwroot/baoma/wp-admin/css/colors/red/template4.php on line 145
支持( 83 ) 盖楼(回复)
">