java特性有哪些java三大特性简单概括java的五大特性




java特性有哪些java三大特性简单概括java的五大特性

2022-07-21 2:25:56 网络知识 官方管理员

导读:Java12终于发布了,我们一起来看一看Java12中的新特性。通过本文可以在5分钟内快速了解Java12新特性。

1Switch表达式

使用Java12,switch不仅可以作为语句也可以作为表达式。无论作为语句或者作为表达式,switch都可以使用传统/简化的作用域和控制流行为。这将有助于简化代码,并为在switch中使用模式匹配铺平道路。

Java开发人员正在增强Java编程语言,以使用模式匹配来解决当前switch语句的几个问题。这包括:switch块的默认控制流行为,switch块默认作用域(被视为单个作用域的块)和switch仅作为语句。

在Java11中,switch语句追随C和C++,默认情况下使用fall-through语义。虽然传统的控制流程在编写低级代码时很有用,但随着switch在更高级别的环境中采用,易出错会盖过其灵活性。

Java11

java特性有哪些(java三大特性简单概括)(1)

Java12

java特性有哪些(java三大特性简单概括)(2)

2默认CDS归档

通过在64位平台上的默认类列表的帮助下生成CDS归档来改进JDK构建过程,从而有效地消除了运行java-Xshare:dump。此功能的目标包括:1。)改进开箱即用的启动时间,以及2.)摆脱使用-Xshare:dump。

3ShenandoahGC

Shenandoah是一种垃圾收集(GC)算法,旨在保证低延迟(10-500ms的下限)。它通过在运行Java工作线程的同时执行GC操作减少GC暂停时间。使用Shenandoah,暂停时间不依赖于堆的大小。这意味着无论堆的大小如何,暂停时间都是差不多的。

这是一个实验性功能,不包含在默认(Oracle)的OpenJDK版本中。

4JMH基准测试

此功能为JDK源代码添加了一套微基准测试(大约100个),简化了现有微基准测试的运行和新基准测试的创建过程。它基于JavaMicrobenchmarkHarness(JMH)并支持JMH更新。

此功能使开发人员可以轻松运行当前的微基准测试并为JDK源代码添加新的微基准测试。可以基于JavaMicrobenchmarkHarness(JMH)轻松测试JDK性能。它将支持JMH更新,并在套件中包含一组(约100个)基准测试。

5JVM常量API

JEP334引入了一个API,用于建模关键类文件和运行时artifacts,例如常量池。此API将包括ClassDesc,MethodTypeDesc,MethodHandleDesc和DynamicConstantDesc等类。此API对于操作类和方法的工具很有帮助。

6G1的可中断mixedGC

此功能通过将MixedGC集拆分为强制部分和可选部分,使G1垃圾收集器更有效地中止垃圾收集过程。通过允许垃圾收集过程优先处理强制集,g1可以更多满足满足暂停时间目标。

G1是一个垃圾收集器,设计用于具有大量内存的多处理器机器。由于它提高了性能效率,g1垃圾收集器最终将取代cms垃圾收集器。

G1垃圾收集器的主要目标之一是满足用户设置的暂停时间。G1采用一个分析引擎来选择在收集期间要处理的工作量。此选择过程的结果是一组称为GC集的区域。一旦GC集建立并且GC已经开始,那么G1就无法停止。

如果G1发现GC集选择选择了错误的区域,它会将GC区域的拆分为两部分(强制部分和可选部分)来切换到处理MixGC的增量模式。如果未达到暂停时间目标,则停止对可选部分的垃圾收集。

7G1归还不使用的内存

此功能的主要目标是改进G1垃圾收集器,以便在不活动时将Java堆内存归还给操作系统。为实现此目标,G1将在低应用程序活动期间定期生成或持续循环检查完整的Java堆使用情况。

这将立即归还未使用的部分Java堆内存给操作系统。用户可以选择执行FULLGC以最大化返回的内存量。

8移除多余ARM64实现

Java12将只有一个ARM64位实现(aarch64)。目标是删除所有与arm64实现相关的代码,同时保留32位ARM端口和64位aarch64实现。

这将把重点转移到单个64位ARM实现,并消除维护两个实现所需的重复工作。当前的JDK11实现中有两个64位ARM实现。


发表评论:

最近发表
网站分类
标签列表