博客
关于我
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.DatagramSocketjava.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/

你可能感兴趣的文章
NTPD使用/etc/ntp.conf配置时钟同步详解
查看>>
NTP及Chrony时间同步服务设置
查看>>
NTP服务器
查看>>
NTP配置
查看>>
NUC1077 Humble Numbers【数学计算+打表】
查看>>
NuGet Gallery 开源项目快速入门指南
查看>>
NuGet(微软.NET开发平台的软件包管理工具)在VisualStudio中的安装的使用
查看>>
nuget.org 无法加载源 https://api.nuget.org/v3/index.json 的服务索引
查看>>
Nuget~管理自己的包包
查看>>
NuGet学习笔记001---了解使用NuGet给net快速获取引用
查看>>
nullnullHuge Pages
查看>>
NullPointerException Cannot invoke setSkipOutputConversion(boolean) because functionToInvoke is null
查看>>
null可以转换成任意非基本类型(int/short/long/float/boolean/byte/double/char以外)
查看>>
Number Sequence(kmp算法)
查看>>
Numix Core 开源项目教程
查看>>
numpy
查看>>
Numpy 入门
查看>>
NumPy 库详细介绍-ChatGPT4o作答
查看>>
NumPy 或 Pandas:将数组类型保持为整数,同时具有 NaN 值
查看>>
numpy 或 scipy 有哪些可能的计算可以返回 NaN?
查看>>