JDK12带来了许多新功能,包括SwitchExpressions的预览和Garbage-First(G1)收集器的可丢弃混合集合。
JDK12的特点介绍
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,以使返回的内存量最大化。
JDK12的增强功能
低暂停时间垃圾收集器(JEP189)开电影网站怎么赚钱吗
代号为“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堆内存返回到操作系统。
JDK12的特点
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及时返回未使用的已分配内存
展开

淘宝美工兼职的网站
亲友益阳棋牌邀请码
怎么创群赚钱
赚钱神器app
证券公司如何收取佣金
当歌手怎么赚钱
摩拜商城提现
在家兼职网络推广
关东煮的利润高吗
哪里打工最赚钱投资小
手机上可以兼职挣钱的工作有哪些
DNF搬砖圣地
爱赚猫官网
制作画框赚钱吗
什么是暴利的灰色项目
闲来赚是骗人的吗
猜拳赚钱软件排行榜
福利游戏试玩
波波视频多少钱能提现
昆明美团外卖招聘兼职