博客
关于我
JDK15正式发布,新增功能预览!
阅读量:464 次
发布时间:2019-03-06

本文共 1364 字,大约阅读时间需要 4 分钟。

JDK 15发布新功能详解

JDK 15于2020年9月15日正式发布,带来了多项重要增强和改进。以下是本次发布的主要新功能说明。


发布版本说明

JDK 15将是一个短期支持版本,仅维护6个月,直到2021年3月JDK 16发布此版本将停止维护。下一个长期支持版(LTS)计划于2022年9月发布,Java 17将是上一个LTS版本,历时3年发布一次,上一个LTS版本是2018年9月的JDK 11。


JDK 15新功能说明

JDK 15提供了14项主要增强和改进,包含孵化器模块、3个预览功能、2个不推荐使用的功能以及2个删除功能。


1. EdDSA数字签名算法

EdDSA(Edwards-Curve数字签名算法)是JDK 15引入的新功能,提供了现代加密库中常见的数字签名方案。与现有签名方案相比,EdDSA具有更高的安全性和性能优势,是一个全新的功能。


2. 隐身类

隐身类功能有助于框架生成运行时类,允许动态扩展类行为,同时限制类的访问。通过反射访问隐藏类,可以减少框架内存占用,提升效率。这是一个重要的新功能。


3. 重新实现DatagramSocket API

旧版 java.net.DatagramSocket 和 java.net.MulticastSocket API已被重新实现,采用更简单、现代的方式提高了JDK的可维护性和稳定性。


4. ZGC功能转正

ZGC(Zebra GC)在JDK 11中首次作为预览功能引入,目标是减少GC停顿时间。通过JEP 377,ZGC已从预览功能转变为生产功能。


5. 文本块功能转正

文本块是JEP 355在2019年提出的功能,避免了大多数转义序列的需要,提供可预测的字符串格式化。借助JEP 378,文本块已成为Java语言的永久功能。


6. Shenandoah垃圾回收算法转正

Shenandoah垃圾回收从实验特性转变为产品特性。该算法通过与运行时Java线程同时进行的疏散工作,显著减少GC暂停时间,与堆大小无关。


7. 密封类(预览)

密封类和接口增强Java编程语言,限制超类和超接口的使用,提升代码的可控性和可维护性。


8. instanceof自动匹配模式(预览)

简化了对象类型检查流程。旧写法需先判断类型再转换,而新写法直接在条件判断中声明变量:

if (obj instanceof String s) {    // 代码逻辑} else {    // 类型不匹配处理}

9. Records Class(预览)

Records类在JDK 14中首次作为预览功能引入,使用record关键字创建常量类,简化了代码书写。旧写法需要手动实现equals()、hashCode()和toString()方法,而新写法一行代码即可完成。


10. 外部存储器访问API(预览)

通过提供一个API,允许Java程序安全有效地访问Java堆之外的外部内存。这是JDK 14的一个预览特性。


11. 其他功能

  • 移除Nashorn JavaScript引擎:已从JDK 15中移除。
  • 移除Solaris和SPARC端口:结束对这些平台的支持。
  • 不推荐的RMI激活去除:标记为不推荐使用。

参考与鸣谢

感谢码农小胖哥的技术支持,以及官方日志的详尽信息。

转载地址:http://ywwbz.baihongyu.com/

你可能感兴趣的文章
Python关于strftime函数详细解析 附实战代码
查看>>
Python3 tutorial day3
查看>>
python3 week4
查看>>
Python3 创建数组
查看>>
python3 套接字异常(a byte-like object is required not str)
查看>>
python3 实现用户三次输入错误记录黑名单并对该用户登录锁定-day1
查看>>
python3 文本变图片
查看>>
Python3 查看 com 组件的属性
查看>>
python3 案例分享--发邮件
查看>>
python3 模板库_Python3 标准库概览_Python教程_我爱模板网 - 提供下载各种免费建站资源,免费网站模板,免费网页特效,让你爱上建站!...
查看>>
Python3 求最大/小值及索引值 Numpy
查看>>
python3+django使用celery执行某些任务失败的解决方案
查看>>
Python3+Requests+Unittest实战系列【一】
查看>>
python3+requests+unittest实战系列【一】
查看>>
python3+requests+unittest实战系列【二】
查看>>
Python3+Requests+Unittest实战系列【二】
查看>>
python3----ASCII
查看>>
Python3-selenium自动化测试框架,结合HTMLTestRunner测试报告!
查看>>
Python3-如何自我更新作为服务运行的应用程序
查看>>
Python3.1-网格模拟概念性问题
查看>>