/中文/
/中文/
/中文/
/英文/
/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
软件Tags: jdkJava
jdk13官方版是全新的jdk版本,整个jdk使用起来就是超级方便,更新了很多不太方便的地方,而且还能自己查看最新的一些数据,真是太好用了,而且还能快速的查看表达式条件,喜欢的用户千万不要错过了,快来绿色资源网下载吧!
新版本带来了一些增强功能,包括增强的switch语句,增强的垃圾收集器功能,支持微基准测试,支持默认的类数据共享等等,其中增强的switch语句不仅可以作为语句也可以作为表达式,无论作为语句或者作为表达式,switch都可以使用传统/简化的作用域和控制流行为,这将有助于简化代码,并为在switch中使用模式匹配铺平道路。而jdk12中添加了一套微基准测试,大约100个,这简化了现有微基准测试的运行和新基准测试的创建过程,更多功能可自行体验。
安装教程和12一模一样,可以参考下面安装
授权:免费软件 WinAll大小:153.3M语言:中文
jdk12是java工程师常用的一款开发环境,是甲骨文公司开发的软件,现在很多公司和个人都在使用这个环境来开发代码,而且功能十分的强大,现在jdk终于更新了他的12版本了,相信有很多开发工程师需要这个版本,有需要的
下载地址
1、JVM 常量 API
JEP 334引入了一个API,用于建模关键类文件和运行时artifacts,例如常量池。 此API将包括ClassDesc,MethodTypeDesc,MethodHandleDesc和DynamicConstantDesc等类。此 API 对于操作类和方法的工具很有帮助。
2、G1的可中断 mixed GC
此功能通过将Mixed GC集拆分为强制部分和可选部分,使G1垃圾收集器更有效地中止垃圾收集过程。通过允许垃圾收集过程优先处理强制集,g1可以更多满足满足暂停时间目标。
G1是一个垃圾收集器,设计用于具有大量内存的多处理器机器。由于它提高了性能效率,g1垃圾收集器最终将取代cms垃圾收集器。
G1垃圾收集器的主要目标之一是满足用户设置的暂停时间。G1采用一个分析引擎来选择在收集期间要处理的工作量。此选择过程的结果是一组称为GC集的区域。一旦GC集建立并且GC已经开始,那么G1就无法停止。
如果G1发现GC集选择选择了错误的区域,它会将GC区域的拆分为两部分(强制部分和可选部分)来切换到处理Mix GC的增量模式。如果未达到暂停时间目标,则停止对可选部分的垃圾收集。
3、G1归还不使用的内存
此功能的主要目标是改进G1垃圾收集器,以便在不活动时将Java堆内存归还给操作系统。 为实现此目标,G1将在低应用程序活动期间定期生成或持续循环检查完整的Java堆使用情况。
这将立即归还未使用的部分Java堆内存给操作系统。 用户可以选择执行FULL GC以最大化返回的内存量。
4、移除多余ARM64实现
jdk12将只有一个ARM 64位实现(aarch64)。 目标是删除所有与arm64实现相关的代码,同时保留32位ARM端口和64位aarch64实现。
这将把重点转移到单个64位ARM实现,并消除维护两个实现所需的重复工作。 当前的JDK 11实现中有两个64位ARM实现。
5、Switch 表达式
使用Java 12,switch不仅可以作为语句也可以作为表达式。 无论作为语句或者作为表达式,switch都可以使用传统/简化的作用域和控制流行为。 这将有助于简化代码,并为在switch中使用模式匹配铺平道路。
Java开发人员正在增强Java编程语言,以使用模式匹配来解决当前switch语句的几个问题。 这包括:switch块的默认控制流行为,switch块默认作用域(被视为单个作用域的块)和switch仅作为语句。
在Java 11中,switch语句追随C和C++,默认情况下使用fall-through语义。 虽然传统的控制流程在编写低级代码时很有用,但随着switch在更高级别的环境中采用,易出错会盖过其灵活性。
6、默认CDS归档
通过在64位平台上的默认类列表的帮助下生成CDS归档来改进JDK构建过程,从而有效地消除了运行java -Xshare:dump。 此功能的目标包括:1。)改进开箱即用的启动时间,以及2.)摆脱使用-Xshare:dump。
7、Shenandoah GC
Shenandoah是一种垃圾收集(GC)算法,旨在保证低延迟(10 - 500 ms的下限)。 它通过在运行Java工作线程的同时执行GC操作减少GC暂停时间。 使用Shenandoah,暂停时间不依赖于堆的大小。 这意味着无论堆的大小如何,暂停时间都是差不多的。
这是一个实验性功能,不包含在默认(oracle)的OpenJDK版本中。
8、JMH 基准测试
jdk12为JDK源代码添加了一套微基准测试(大约100个),简化了现有微基准测试的运行和新基准测试的创建过程。 它基于Java Microbenchmark Harness(JMH)并支持JMH更新。
此功能使开发人员可以轻松运行当前的微基准测试并为JDK源代码添加新的微基准测试。 可以基于Java Microbenchmark Harness(JMH)轻松测试JDK性能。 它将支持JMH更新,并在套件中包含一组(约100个)基准测试。
在预览阶段添加文本块。文本块是一个多行字符串文字,可以避免大多数转义序列的需要。文本块以可预测的方式自动格式化字符串,并使开发人员可以控制格式。该项目列举了为Java添加文本块背后的一些目标。一个目标是通过使表达跨越几行源代码的字符串变得容易,同时避免常见情况下的转义序列来简化Java程序的编写。
JDK 13提出了第二个switch表达式预览。在JDK 12中有一个,但是要进行一个更改:要从switch表达式中生成一个值break,要删除with value语句以支持a yield声明。目的是扩展,switch以便它可以用作语句或表达式,因此两个表单既可以使用case ... :带有连贯符号的传统标签,也可以使用新case … ->标签,而不需要通过,还有一个新的语句用于从switch表达式中产生值。这些更改将简化编码并为模式匹配做好准备。
增强ZGC(Z垃圾收集器)以将未使用的内存返回到操作系统,引用的提议被集成到JDK 13中.ZGC被称为可扩展的低延迟收集器,目前不会将未使用的内存返回到操作系统即使长时间没有使用内存。对于某些应用程序和环境而言,此行为并非最佳,尤其是那些需要关注内存占用的应用程序和环境,例如应用程序可能长时间处于空闲状态并与其他应用程序共享或竞争资源的容器或环境。
扩展应用程序类 - 数据共享(AppCDS),以便在应用程序执行结束时动态存档类。存档类将包括默认的基础层CDS存档中不存在的所有已加载的应用程序和库类。该提案处于目标阶段,旨在提高AppCDS的可用性,并消除用户进行试运行以创建每个应用程序的类列表的需要。
第三个目标是通过规定任何新构造可以表达与字符串文字相同的字符串集,解释相同的转义序列,并像字符串文字一样进行操作来支持字符串文字的迁移。原始字符串文字是JDK 13提出的一个特性,但有利于文本块,它采用了不同的方法来表示字符串而不转义换行符和引号。原始字符串文字专注于字符串的原始性,但Java项目团队现在认为焦点是错误的,因为虽然原始字符串文字可能跨越多行源代码,但它们涉及支持未转义分隔符的昂贵要求。已经为JDK 13预测了原始字符串文字,但从未正式添加到其建议的功能列表中。
重新实现传统套接字API,这将涉及使用更简单,更现代的实现替换API net.Socket和java.net.ServerSocketAPI 使用的底层实现,易于调试和维护。新的实现旨在易于适应使用用户模式线程(也称为光纤),这些线程正在project Loom中进行探索。上述传统API可以追溯到JDK 1.0,并且包含传统C和Java代码的混合,这些代码被描述为调试和维护的痛苦。遗留实现还存在其他问题:支持异步关闭,导致可靠性和移植问题的本机数据结构,以及需要彻底检查的并发问题。