Java 12原始字符串字面量特性被移除
极客时间编辑部
讲述:杜力大小:2.20M时长:02:24
JDK 12 是 Java SE 的下一版本,目前已经达到版本发布流程的第一个减速点,最近,该版本的特性已经被冻结。
据了解,JDK 12 提供了增强 switch 语句预览,为 G1 垃圾回收器添加了许多改进,并引入了名为 Shenandoah 的实验性垃圾回收器。
然而,JDK 12 主要提案之一的原始字符串字面量却被从这个版本移除。根据 JEP 介绍,原始字符串字面量可以跨多行源代码,并且转义串不会被解析。
虽然可以预料到,任何语言特性都会收到大量诸如“我更希望它不是这样的”反馈,但在审查收到的反馈时,很难在复杂性和表现力之间作出正确权衡,或者说不确信已经对所有可能的设计进行了足够探索,以确保当前方案是能做出的最优方案。而此次通过移除该特性,Java 可以继续完善设计,探索更多选项,以提供能够满足预览特性流程要求的版本。
据了解,JDK 12 对 G1 垃圾回收器进行了重要增强,其目标之一是当回收器造成停顿时,能达到用户指定的停顿时间目标。但在某些情况下,回收器可能无法达到该目标。
目前,G1 需要从所有集合区域内收集活动对象,并不能在此过程中停止。因此,如果回收器的启发式算法选择了过大的集合,回收器可能会超出暂停目标。
为了达到用户提供的停顿时间目标,JEP344 通过把要被回收的区域集拆分为强制和可选部分,使 G1 垃圾回收器能够中止回收过程,G1 可以中止可选部分的回收以达到停顿时间目标。此外,JEP 346 指出,由于 G1 尽量避免完整的 GC,并且仅基于 Java 堆占用和分配活动来触发并发周期,因此在许多情况下,除非从外部强制执行,否则不会返还 Java 堆内存。
需要注意的是,在资源需要付费使用的容器环境中,这种行为对客户尤其不利。除此之外,新版本还会带来很多特性。JDK 12 的候选发布版本预计在 2 月初发布,GA 版本将于 3 月中旬发布。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论