大小:149.05M
更新时间:24-07-04
系统:Pc
jdk16是由甲骨文公司宣布推出的Java语言的软件开发工具包,Java仍然是有史以来最成功的开发平台之一,它基于不断创新以满足现代应用程序开发人员不断变化的需求,而在此工具包中它包含了该平台的17项新增强功能,能将进一步提高开发人员的生产力。该开发工具包 (JDK) 最终确定了 instanceof (JEP 394) 和Records (JEP 395) 的模式匹配,这是以前在 Java 14 中首次预览的语言增强功能,不仅如此,开发人员还可以使用新的打包工具(JEP 392) 自行发布,其中包含了 Java 应用程序,以及探索三个孵化功能,矢量 API (JEP 338)、外部链接器 API (JEP 389) 和外部内存访问 API (JEP 389),以及一项预览功能,密封类 ( JEP 397)。
与上一版本相比,全新的jdk16功能更为强大,增加了多项新特性,比如提供了全新的jpackage工具,用于打包自包含的 Java 应用程序;改进内存管理以提高性能,现在支持并发线程堆栈处理,可以将ZGC线程堆栈处理从安全点移动到并发阶段,从而消除了允许并发堆栈处理的最后一个重要瓶颈。还改进网络以提高开发人员的生产力和灵活性,现在可以向 java.nio.channels 包中的套接字通道和服务器套接字通道 API 添加了对主要 UNIX 平台和 Windows 中通用的 UNIX 域套接字的所有功能的支持。另外jdk16还解决未来不兼容的代码,以及支持将 JDK移植到 Windows/AArch64等等。
ps:本次小编带来的是jdk16.0.2 64位官方版,该版本是甲骨文公司推出的最新版本,并且下文有其详细的安装教程和环境变量配置,有需要的小伙伴快来下载使用吧。
1、338:Vector API(孵化器)
2、347:启用 C++14 语言功能
3、357:从 Mercurial 迁移到 Git
4、369:迁移到 GitHub
5、376:ZGC:并发线程堆栈处理
6、380:Unix 域套接字通道
7、386:Alpine Linux 端口
8、387:弹性元空间
9、388:Windows/AArch64 端口
10、389:外链 API(孵化器)
11、390:基于值的类的警告
12、392:打包工具
13、393:外内存访问API(第三孵化器)
14、394:instanceof 的模式匹配
15、395:记录
16、396:默认情况下强封装JDK内部
17、397:密封类(第二次预览)
一、语言增强首先在 JDK 14 中引入,在 JDK 16 中完成
1、JEP 394:instanceof 的模式匹配——通过对 instanceof 运算符的模式匹配来增强 Java 编程语言。
2、JEP 395:Records——通过记录增强 Java 编程语言,记录是充当不可变数据的透明载体的类。记录可以被认为是名义元组。
二、提高开发人员生产力的新工具
JEP 392:打包工具——提供 jpackage 工具,用于打包自包含的 Java 应用程序。
三、改进内存管理以提高性能
1、JEP 387:Elastic Metaspace – 更迅速地将未使用的 HotSpot 类元数据(即元空间)内存返回给操作系统,减少元空间占用空间,并简化元空间代码以降低维护成本。
2、JEP 376:ZGC:并发线程堆栈处理——将 ZGC 线程堆栈处理从安全点移动到并发阶段。这项工作消除了允许并发堆栈处理的最后一个重要瓶颈。
四、改进网络以提高开发人员的生产力和灵活性
JEP 380:UNIX 域套接字通道- 向 java.nio.channels 包中的套接字通道和服务器套接字通道 API 添加了对在主要 UNIX 平台和 Windows 中通用的 UNIX 域套接字的所有功能的支持。UNIX 域套接字用于同一主机上的进程间通信 (IPC)。它们在大多数方面类似于 TCP/IP 套接字,只是它们由文件系统路径名而不是 Internet 协议 (IP) 地址和端口号寻址。
五、解决未来不兼容的代码
1、JEP 396:默认强封装 JDK 内部——在 JDK 9 中,我们强封装了新的内部 API 元素,从而限制了对它们的访问。然而,为了帮助迁移,JDK 9 故意选择不在运行时强封装 JDK 8 中存在的包的内容。 JDK 16 通过默认封装 JDK 的大多数内部元素来收紧这一约束,除了关键的内部 API例如 sun.misc.Unsafe。最终用户仍然可以选择自 JDK 9 以来一直默认的宽松强封装。这将鼓励开发人员从使用内部元素迁移到使用标准 API,以便他们和他们的用户都可以轻松升级到未来的 Java 版本。
2、JEP 390:基于值的类警告——将原始包装类指定为基于值的,并弃用它们的构造函数以进行删除,提示新的弃用警告。提供有关对 Java 平台中任何基于值的类的实例进行同步的不当尝试的警告。
六、孵化和预览功能
1、JEP 338:矢量 API(孵化器) ——提供孵化器模块 jdk.incubator.vector 的初始迭代,以表达矢量计算,这些计算在运行时可靠地编译为支持的 CPU 架构上的最佳矢量硬件指令。
2、JEP 389:外部链接器 API(孵化器) ——引入了一个 API,它提供对原生代码的静态类型、纯 Java 访问。
3、JEP 393: Foreign-Memory Access API (Third Incubator) – 引入了一个 API,允许 Java 程序安全有效地访问 Java 堆之外的外部内存。
4、JEP 397:密封类(第二次预览) ——通过密封类和接口增强 Java 编程语言。密封类和接口限制哪些其他类或接口可以扩展或实现它们。
七、OpenJDK 贡献者的改进
1、JEP 347:启用 C++14 语言特性(在 JDK 源代码中) ——允许在 JDK C++ 源代码中使用 C++14 语言特性,并给出关于哪些特性可以在 HotSpot 代码中使用的具体指导。
2、JEP 357:从 Mercurial 迁移到 Git – 将 OpenJDK 社区的源代码存储库从 Mercurial (hg) 迁移到 Git。
3、JEP 369:迁移到 GitHub – 在 GitHub 上托管 OpenJDK 社区的 Git 存储库。
八、新端口在更多平台上提供对 Java 的支持
1、JEP 386:Alpine Linux Port – 将 JDK 移植到 Alpine Linux,以及在 x64 和 AArch64 架构上使用 musl 作为主要 C 库的其他 Linux 发行版。
2、JEP 388:Windows/Aarch64 端口——将 JDK移植到 Windows/AArch64。
1、删除了具有 1024 位密钥的根证书( JDK-8243559 )
安全库/java.security
以下具有弱 1024 位 RSA 公钥的根证书已从cacerts密钥库中删除:
+ alias name "thawtepremiumserverca [jdk]"
Distinguished Name: EMAILADDRESS=premium-server@thawte.com, CN=Thawte Premium Server CA, OU=Certification Services Division, O=Thawte Consulting cc, L=Cape Town, ST=Western Cape, C=ZA
+ alias name "verisignclass2g2ca [jdk]"
Distinguished Name: OU=VeriSign Trust Network, OU="(c) 1998 VeriSign, Inc. - For authorized use only", OU=Class 2 Public Primary Certification Authority - G2, O="VeriSign, Inc.", C=US
+ alias name "verisignclass3ca [jdk]"
Distinguished Name: OU=Class 3 Public Primary Certification Authority, O="VeriSign, Inc.", C=US
+ alias name "verisignclass3g2ca [jdk]"
Distinguished Name: OU=VeriSign Trust Network, OU="(c) 1998 VeriSign, Inc. - For authorized use only", OU=Class 3 Public Primary Certification Authority - G2, O="VeriSign, Inc.", C=US
+ alias name "verisigntsaca [jdk]"
Distinguished Name: CN=Thawte Timestamping CA, OU=Thawte Certification, O=Thawte, L=Durbanville, ST=Western Cape, C=ZA
2、删除 java.awt.PeerFixer ( JDK-8253965 )
客户端库/java.awt
java.awt.PeerFixer此版本中已删除非公共类。此类用于为 JDK 1.1.1 之前创建的 ScrollPane 对象提供反序列化支持。
3、删除实验特性 AOT 和 Graal JIT ( JDK-8255616 )
热点/编译器
Java Ahead-of-Time 编译实验工具 jaotc已被删除。使用JEP295定义的 HotSpot VM 选项会 产生不支持的选项警告,否则将被忽略。
实验性的基于 Java 的 JIT 编译器 Graal JEP317已被删除。尝试使用它会产生一个 JVMCI 错误:JVMCI compiler 'graal' not found。
4、不推荐使用的跟踪标志已过时,必须替换为统一的日志等效项( JDK-8256718 )
热点/运行时
当在 Java 9 中添加统一日志时,许多跟踪标志被弃用并映射到它们的统一日志等价物。这些标志现在已过时,将不再自动转换以启用统一日志记录。要继续获得相同的日志输出,您必须明确地将这些标志的使用替换为它们的统一日志等效项。
过时的选项
-XX:+TraceClassLoading
-XX:+TraceClassUnloading
-XX:+跟踪异常
统一日志替换
-Xlog:class+load=info
-Xlog:class+unload=info
-Xlog:异常=信息
5、去除旧椭圆曲线( JDK-8235710 )
安全库/javax.crypto
SunEC 提供程序不再支持以下已过时或未使用现代公式和技术实现的椭圆曲线:
secp112r1, secp112r2, secp128r1, secp128r2, secp160k1, secp160r1, secp160r2, secp192k1, secp192r1, secp224k1, secp224r1, secp256k1, sect113r1, sect113r2, sect131r1, sect131r2, sect163k1, sect163r1, sect163r2, sect193r1, sect193r2, sect233k1, sect233r1, sect239k1, sect283k1, sect283r1, sect409k1, sect409r1, sect571k1, sect571r1, X9.62 c2tnb191v1, X9.62 c2tnb191v2, X9.62 c2tnb191v3, X9.62 c2tnb239v1, X9.62 c2tnb239v2, X9.62 c2tnb239v3, X9.62 c2tnb359v1, X9.62 c2tnb431r1, X9.62 prime192v2, X9.62 prime192v3, X9.62 prime239v1, X9.62 prime239v2, X9.62 prime239v3, brainpoolP256r1 brainpoolP320r1, brainpoolP384r1, brainpoolP512r1
要继续使用这些曲线中的任何一条,用户必须找到第三方替代方案。
同类热门
猜你喜欢
类似软件
java se development kit 12.0.1157M574人在用java se development kit 12.0.1是jdk系列软件的新版本,简称为jdk12,它是java工程师常用的一款开发环境,新版本带来了全新的特性,主要包括增强的switch语句,增强的垃圾收集器、微基准测试、默认的类数据共享、JVM
查看jdk1.6 32位/64位官方版128.75M2413人在用office mac是由microsoft专门Mac用户推出的一款专业办公软件,提供了一套功能强大的组件帮助jdk1.6是java development kit6的简称,也是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库,
查看热门标签
网友评论0人参与,0条评论
最新排行
Kate(高级文本编辑器)91.1Mv24.11.70中文版 Kate中文版是一款可以实现跨平台使用的免费高级文本编辑器,对比同类文本编辑器的“高级”功能,让编程使用更加的方便快捷,可支持标签页、代码高亮、显示行号、显示缩略图的滚动条、多文件查找、横向或者纵向显示多个视图等众多高级特性。也许在文本编辑器中,大
查看SCM Manager客户端(源代码管理服务器)94.03Mv3.0.3官方版 SCM Manager官方版是一款专业的源代码管理服务器,该软件基于Java构建,支持跨平台,是您对源代码管理的最佳帮手,同时还提供了命令行供安装服务、卸载和重启服务,其初始化脚本供自动初始化相关的环境变量,无需手动配置,从web界面即可进行配置,
查看YZYZ菜鸟编程小助手3.4Mv1.1官方版 YZYZ菜鸟编程小助手是主要针对广大编程新手朋友们打造的一款小巧实用的编程辅助工具。主要为用户提供一些方便快捷的编程模块,如:POST调试,JSON解析,正则表达式和翻译编码等,主要帮助朋友们对编程基本理论和开发思路有一个明确了解,对于后期编程能力
查看labelimg图像标注工具22.96Mv1.8.1官方版 labelimg是一款专业的图像标注工具,这款件可方便创建自己的数据集,让用户轻松进行工作,其在执行pip命令之后,它会自动寻找最合适(匹配你的系统、Python版本)的whl文件,其运行环境为python+ lxml,FasterR-CNN,YO
查看stm32cubeprogrammer烧写工具120.6Mv1.3.0官方版stm32cubeprogrammer是一款专业的STM32程序烧写工具,这款工具支持图形化界面操作也支持命令行操作,配合STM32Trusted Package Creator tool实现固件加密操作,也支持对STLINK调试器的在线固件升级,让用户
查看jdk1.6 32位/64位官方版128.75M附环境变量配置教程office mac是由microsoft专门Mac用户推出的一款专业办公软件,提供了一套功能强大的组件帮助jdk1.6是java development kit6的简称,也是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库,
查看java流程分析插件(SOPA)10.38Mv1.1.9绿色版SOPA是一款使用非常广泛的,主要用于提高java开发效率的eclipse插件,该款工具的原名为Sources Oriented Process Analysis,在java开发中能够提供快速显示程序流程、快速领会方法调用过程等功能,使工程维护更加简单,
查看svn中文语言包(tortoisesvn中文补丁)8.28Mv1.8.7.25475(32/64位)TortoiseSVN是Subversion 版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录,是软件开发人员必备的开发管理软件,这个软件用的人很多,可以大部分都是英文的,英文版用起来肯定没有中文版的用起来舒服,毕竟我们是中国人嘛,所以为了
查看