Java 13刚刚到来,ZGC已开始共享内存,CDS本身可以记住类和其他技术奇迹


今天发布了Java的新版本-Java / JDK13。该竞赛始于3月19日举行的JDK 12的春季发布,而主分支的分支于6月13日发生。 我们沿途迷失了一个人,例如JEP 343:Packaging Tool ,但总的来说,一切都正常,现在是时候获得收益了。


您可以在此处下载新版本。 削减部分将简要概述此版本中包含的最新JEP。


JEP 351:ZGC:取消提交未使用的内存


如您所知,在JDK 11中,我们有了一个新的出色的GC-ZGC,具有可伸缩性,快速和低暂停时间。 好吧,或者至少是这个主意。 他的一个相当严重的问题是,他在马槽里的举止像只狗,即使没有必要,也不会放弃忙碌的记忆。 Shenandoah和G1很久以前就开始分享信息,ZGC的举动看起来像是在握手。 好了,现在一切都固定了,在-XX:ZUncommitDelay的超时之后,我们将字节取回来。


JEP 350:动态CDS档案


CDS功能本身允许您将可装入的类添加到公共存档中,从而加快启动速度并减少浪费的RAM数量。 不幸的是,在您有点笨之前,您自己不得不多次重新启动应用程序,形成了此类列表,然后又将手放到了该列表上。 现在,机器人正在工作,而不是人类:在设置-XX:ArchiveClassesAtExit选项后,在正常关闭应用程序后,类会自动转储到归档文件中。



Stuart Marks-宣布弃用Java 13几分钟后,Oracle + olegchir的Oracle Dr. Deprecator,技术人员咨询顾问


JEP 353:重新实现旧版套接字API


在所有(现在已过时)的Java中, net.Socketjava.net.ServerSocket基于Java和C代码的混合,即使是最有经验的性能理论家也从中哭泣。 通过使用与NIO相同的内部基础结构编写新的实现,解决了该问题,因此几乎不需要其自己的本机代码。 很好,但这不是遗留问题,他们编写的所有内容都很精美,适合从Loom项目迁移到光纤。 如果在NioSocketImpl很有趣,那么您需要看一下NioSocketImpl类。


JEP 354:开关表达式


我们将继续为模式匹配的到来做准备。 开关表达式是第一个允许您编写以下形式的代码的功能:


 int j = switch (day) { case MONDAY -> 0; case TUESDAY -> 1; default -> { int k = day.toString().length(); int result = f(k); yield result; } }; 

从示例中可以看到,自JDK 12起,我们有了一个外观上的更改:将break更改为yield ,现在一切都像所有普通人一样。


JEP 355:文本块


JEP 326:Raw String Literals陷入困境 ,但他的生意继续前进! “告诉斯大林同志-发生了一个可怕的错误 文本块是一项新的预览功能,可让您无需转义即可完成操作,它以便捷的方式设置行的格式, 用泡沫冲泡咖啡 并奇迹般地控制了结果字符串的格式。


更普通的是,现在任何无需学习JSP的子手都可以编写如下内容:


 String html = """ <html> <body> <p>Hello, world</p> </body> </html> """; 

初学者DBA可以通过以下代码开始建立职业:


 String query = """ SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB` WHERE `CITY` = 'NEW DEHLI' ORDER BY `EMP_ID`, `LAST_NAME`; """; 


听起来有点险恶


警告


JEP概述只是您可以了解的有关Java的一小部分。 完整的审查还应该包括对有趣的战术创新的全面审查,以及对bugtracker中漏洞的概述。 也许有人( 懒惰赞成 !) 能够继续这项工作。 我和我的团队现在都在Oracle Code One中-不幸的是,坐在报表上或倚在Liberica JDK展位上-编写这么长时间的书非常困难。 无论如何,这是完全不同的中心站点的主题。



Brian Goetz-Oracle Code One上Oracle + olegchir的Java语言架构师


我们还举办了一个Joker会议,您可以在其中讨论切换到Java 13的需求,过渡到ZGC的时间,引入Text Blocks之后所需的爆米花库存量以及其他相关问题。 门票可以像往常一样在官方网站上购买。

Source: https://habr.com/ru/post/zh-CN467789/


All Articles