Java 12新功能完整指南

六个月飞得如此之快,是时候再次仔细研究一下即将发布的新JDK版本。 让我们满足Java 12及其向开发人员介绍的功能。

Java 12的新功能

自甲骨文推出其6个月加速发布节奏以来已经有一段时间了,要跟上每个版本及其添加到表中的功能越来越难了。

从好的方面来说,这种快速的发布速度也意味着Java引入了许多新功能供我们利用。 这意味着我们需要一直关注以查看添加了哪些令人兴奋的功能。 现在该看一下Java 12的全部含义了。

Java 12的新功能

雪兰多厄:低暂停时间的垃圾收集器

此实验功能希望添加一个名为Shenandoah的新垃圾收集(GC)算法,该算法是为更喜欢响应性和可预测的短暂停顿的应用程序而设计的。

此功能引入了一种算法,该算法足够有效,以允许程序在可用内存中运行,但也进行了优化,以永不中断正在运行的程序超过几毫秒的时间。

Shenandoah算法通过与正在运行的Java线程同时进行疏散工作,将有助于减少GC暂停时间。 它以并发CPU周期和空间为代价来交换暂停时间,并且暂停时间与堆大小无关,这意味着无论堆是200 MB还是200 GB,您都将具有相同的一致暂停时间。

Oracle确实注意到这并不是要解决所有JVM暂停问题,因为这些问题可能是由于安全时间(TTSP)问题或什至是监视应用程序膨胀引起的。 对于这些情况,该算法将不相关。

切换表达式

该JEP旨在扩展switch语句; 多向分支语句,它提供了一种基于表达式的值将执行分派到代码内不同部分的简便方法。

当前处于预览模式的此扩展使我们能够将switch用作语句或表达式,以简化编码并为即将到来的另一个JEP(Pattern Matching for instanceof( 305 ))做准备。

为了理解其含义,Oracle共享了以下示例。 不必要的冗长和视觉上嘈杂的代码通常掩盖了难以调试的错误,其中丢失的break语句表明发生了意外掉线:

标记为“ case L->”的新开关标签将表示仅在标签匹配时才执行箭头右侧的代码。 因此,现在可以编写之前的代码:

G1改进

Java 12附带了2个对默认垃圾收集器G1的更新。 第一个标题为“ G1的可终止混合集合 ”有助于使G1混合集合(如果它们超过暂停目标)可中止。

当前,G1使用分析引擎来选择收集期间要完成的工作量,一旦确定了收集集并开始了收集,则G1必须收集收集集所有区域中的所有活动对象而不停止。 这导致垃圾收集器超出了暂停时间目标,这是JEP旨在解决的问题。

G1的另一个功能还着重于提高垃圾收集器的性能,特别是返回未使用的已提交内存。

当前版本的G1仅在完整GC或并发周期中从Java堆返回内存。 由于G1努力避免完全避免出现完整的GC,并且仅根据Java堆占用和分配活动触发并发周期,因此在许多情况下,除非强制从外部进行,否则它不会返回Java堆内存。

那就是“ 从G1Swift返回未使用的承诺内存 ”的地方,着重于通过在G1空闲时自动将Java堆内存返回到操作系统来增强垃圾收集器。

还有什么?

Java 12中引入的其他功能包括:

  • Microbenchmark Suite –将微基准的基本套件添加到JDK源代码中,使开发人员可以轻松地运行现有的微基准并创建新的微基准。
  • JVM常量API –引入了一个API,以对关键类文件和运行时工件的名义描述进行建模,例如可从常量池中加载的常量。 该API对于处理Java类和方法的工具很有用。
  • 默认的CDS存档 -增强了JDK生成过程,以生成类数据共享(CDS)存档,并缩短了现成的启动时间。

这值得么?

通过不断的更新,我们看到了越来越多的功能引入该语言–但是开发人员对最近的更改有何感想? 在大型系统和企业中升级和实现新的语言功能并不总是那么容易,更不用说与遗留代码以及团队的本地技巧和黑客建立兼容性。

确实,当我们冷漠地审视最新的Java版本时,我们发现频繁发布并不意味着最新版本是最受欢迎的版本。 通过查看Google趋势,我们发现事实并非如此:

尽管Java 8是家族中“最古老”的成员,但不可否认的是它的流行程度。 Java 11正在受到关注,这可能是因为Java 11是最新的长期受支持的版本,而Java 12在列表的底部。 它是一个新版本,因此我们愿意给它一些时间,但是从当前状态来看,它似乎变化不大。

这是否意味着Oracle应该停止六个月的节奏? 好吧,不。 做出此决定是为了使Oracle能够比以前更快地发布“较小”的功能,从而帮助Java与市场上的其他语言保持一致。

如果您提出要求,那么此更改只会帮助Java保持其功能和流行性,无论是对于编程领域的年轻新手还是即将来临的开发人员和资深人员而言。 现在我们唯一的问题是……Java 13将引入什么,这些功能将如何改变我们的编码方式?

翻译自: https://www.javacodegeeks.com/2019/04/complete-guide-java-12-new-features.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/343484.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【渝粤教育】21秋期末考试电算化会计10169k2

单项选择题 1、在固定资产核算系统的卡片中,能够唯一确定每项资产的数据项是() (2 分) A.类别编号 B.规格型号 C.资产名称 D.资产编号 单项选择题 1、在固定资产核算系统的卡片中,能…

如何预防光纤光缆布线中的雷击伤害

众所周知,光纤是具有不导电性的,可以免受冲击电流,光缆也具有良好的防护性能,光缆中的金属构件对地绝缘值较高,雷电流不易进入光缆,但因为光缆具有加强芯,特别是直埋光缆具有铠装层,…

【渝粤教育】21秋期末考试马克思主义基本原理概论(A)10882k1 (2)

1、在哲学范畴中,揭示事物引起和被引起关系的是原因与结果。(2 分) 正确 错误 2、垄断是作为自由竞争的对立面产生的,所以垄断可以消灭竞争。(2 分) 正确 错误 3、《共产党宣言》指出,迄今一切有…

java hessian rmi_RMI,socket,rpc,hessian,http比较

SOCKET使用时可以指定协议TCP,UDP等;RIM使用JRMP协议,JRMP又是基于TCP/IP;RPC底层使用SOCKET接口,定义了一套远程调用方法;HTTP是建立在TCP上,不是使用SOCKET接口,需要连接方主动发数据给服务器…

【渝粤教育】国家开放大学2018年春季 0007-22T文书档案管理 参考试题

试卷编号:0007 座位号 2017——2018学年度第二学期期末考试 文 书 档 案 管 理 试 题 2018年7月 1.从文书的形成和使用上划分,文书可分为 和 两类。 2.文头一般由公文名称(又称版头)、 、 、 、 等部组成…

三步法教你快速解决光纤收发器故障

光纤收发器,是一种将短距离的双绞线电信号和长距离的光信号进行互换的以太网传输媒体转换单元,是网络通信中很重要的一种通信设备。但只要是机器,难免会有出现故障的时候,出现问题,找出问题,然后解决问题就…

【渝粤教育】国家开放大学2018年春季 0043-22T计算机文化 参考试题

《计算机文化基础》考试补充说明 责任教师:刘迪昱 《计算机文化基础》是一门计算机操作实践性很强的课程,本次考试采用无纸化考试方式,现对考试的有关要求作如下补充说明,请各考点在考前做好准备,以确保考试顺利进行…

java人物移动_【Unity3D】Unity3D 键盘控制人物移动

float horizontal Input.GetAxis("Horizontal"); //A D 左右float vertical Input.GetAxis("Vertical"); //W S 上 下transform.Translate(Vector3.forward * vertical * m_speed * Time.deltaTime);//W S 上 下transform.Translate(Vector3.right * hor…

【渝粤教育】国家开放大学2018年春季 0054-21T合同法 参考试题

试卷编号:0054 期末 考 合同法试题 1.要式合同 2.违约责任 3.附条件合同 4.债权人的撤销权 5.投标 二、单项选择题(每题3分,共30分) 考生注意:请将答案填写在下面…

网管光纤收发器产品硬件功能及网管收发器优点介绍

飞畅科技生产研发的网管型光纤收发器具有非网管收发器的全部功能,各种速率,单模/多模,单纤/双纤。此设备的网管界面设置简单,功能全面。此系列网管收发器支持多种网管方式,包括SNMP,WEB和Console等网管方式…

【渝粤教育】国家开放大学2018年春季 0089-22TInternet和Intranet应用 参考试题

编号:0089 座位号: 17-18学年第1学期期末考试 Internet和Intranet应用试题 一、填空题:(每空4分,共40分) 1.TCP/IP协议模型有4个层次,它们从底向上分别是 、 、 和 。 …

java接受微信回调_SpringMvc微信支付回调示例代码

介绍大家都知道微信支付的回调链接要求不能跟参数,但又要接收返回的xml数据。我开始使用RequestBody注解在参数上,希望能获取xml数据,测试失败。最后使用HttpServletRequest去获取数据成功了。示例代码RequestMapping("/weixinpay/callb…

【渝粤教育】国家开放大学2018年春季 0111-21T妇产科护理学 参考试题

编号:0111 座位号 2017~2018学年度第二学期期末考试 妇产科护理学试题 2018年07月 一、名词解释(每题5分,共20分) 先兆流产 不孕症 羊水栓塞 痛经 二、填空 (每空2分,共30分) …

mockito java_使用Mockito在Java中进行模拟入门

mockito java我们都编写了单元测试,但是有时我们面临的挑战是被测单元可能依赖于其他组件。 并且配置其他组件进行单元测试绝对是一个过大的选择。 相反,我们可以使用Mocks代替其他组件,并继续进行单元测试。 为了说明如何使用模拟&#xff…

交换机的三种连接方式:级联、堆叠和集群

交换机的连接方式大家应该都知道,一共有三种,分别是:级联、堆叠和集群。今天, 就由飞畅科技的小编来为大家详细介绍下交换机的这三种连接方式及彼此间的区别,感兴趣的朋友就一起来看看吧! 交换机的级联技术…

【渝粤教育】国家开放大学2018年春季 0177-22T电机学(二) 参考试题

编号:0177 b 2017-2018年度第二学期期末考试 电机学(2) 试 题 2018年 7 月 一、填空题(每空4分 ,共40分)1.一台隐极三相同步发电机时空向量中j轴与A轴重合,某瞬间转子基本波励磁磁动…

【渝粤教育】国家开放大学2018年春季 0234-22T公务员制度讲座 参考试题

科目编号:0234 座位号 2017-2018学年度第二学期期末考试 公务员制度讲座 试题 2018年 7 月 一、名词解释(本大题共2小题,每小题10分,共计20分) 1.公务员奖励制度 2.选任制 二、单选题&#x…

交换机组最常见的8大故障及解决方法

在交换机组网时常见的故障比较多,为了帮助大家更好地排除这些故障,在此飞畅科技的小编来为大家介绍一些常见的典型故障案例和处理思路供大家参考。接下来大家就一起来看看交换机组最常见的8大故障及解决方法吧。 环网交换机产品图 故障1:交…

【渝粤教育】国家开放大学2018年春季 0273-22T中国现代文学 参考试题

试卷编号:0273 座位号 2017——2018学年度第二学期期末考试 中国现代文学 试题 2018年7月 1.闻一多分别于1923年和1928年出版了两部诗集,第一部是《__________》,第二部是《___________》。 2.《__________》是鲁迅唯…

【渝粤教育】国家开放大学2018年春季 0341-22T高级英语听力(2) 参考试题

试卷代码:0341 2017-2018学年度第二学期期末考试 高级英语听力(2)试题 2018年7月 注 意 事 项 一、将你的准考证号、学生证号、姓名及分校(工作站)名称填写在答题纸规定栏内。 考试结束后,把试卷和答题纸放…