The Java SE Development Kit is a special suite of Java programming language programmers with great software development tools ! Java is one of the top programming languages in the world competing with other programming languages such as C and #C. Usually a Java programming language, it is highly used for software and games development for various operating systems such as Android, Windows, Linux and Mac. This powerful suite of Java programming languages, with its new update, has added additional functionality and features to its suite that can help develop Java developers and programmers. This large suite can also fully test and run your extended software.
JDK 17的新功能和增强功能 本节描述了 Java SE 16 和 JDK 16 中的一些增强功能。在某些情况下,这些描述提供了有关问题或更改的其他详细信息的链接。此处描述的 ABI 是与甲骨文 JDK 提供的 ABI。它包括全面实施 Java SE 16 平台和额外的 Java ABI,以支持开发、调试和监控 Java 应用程序。关于 Java SE 16 和 JDK 16 中重要增强和新功能的另一个信息来源是
Java SE 16 (JSR 391)平台规范,该规范记录了爪哇 SE 15 和 Java SE 16 之间的规范更改。本文档包括对规范更改的新功能和增强功能的描述。
核心库
➜ JEP 396: 默认情况下强封装 JDK 内部默认情况下,强强封装 JDK 的所有内部元素,但
关键内部 ABI除外。允许最终用户选择自 JDK 9 以来一直默认的轻松强封装。sun.misc.Unsafe
随着这一变化,启动器选项的默认值- 非法访问
是现在,而不是。因此,使用 JDK 大多数内部类、方法或字段的现有代码将无法运行。这些代码可以通过指定在京九16上运行。但是,该选项将在未来的版本中删除。denypermit--illegal-access=permit
核心库
➜ JEP 390:基于价值的类的警告标准库提供的
基于价值的类的用户(尤其是原始包装类的用户)应避免依赖类实例的标识。强烈劝阻程序员不要调用包装类构造器,这些构建器现在被弃用以删除。新的警告阻止基于价值的类实例同步。也可以使用命令线选项激活有
核心图书馆/爪哇.朗:反射
➜添加调用汉德勒::调用代理默认方法支持的默认方法在界面中添加了一种新方法,允许调用代理界面中定义的默认方法。invokeDefaultjava.lang.reflect.InvocationHandler
请参阅JDK-8159746
核心图书馆/爪哇。
➜ JEP 380: Unix 域名插座为 Unix 域名插座(AF_UNIX)提供支持。java.nio.channelsSocketChannelServerSocketChannel
核心图书馆/爪哇时间
➜日期间支持添加到 java. 时间格式新的格式格式、字母"B"及其支持方法已添加到类中。统一代码联盟
CLDR(https://unicode.org/reports/tr35/tr35-dates.html#dayPeriods)中定义的模式和方法翻译。申请现在可以在一天内表达期间,如"早上"或"晚上",而不仅仅是上午/下午。以下示例演示了翻译日期间:java.time.format.DateTimeFormatter/DateTimeFormatterBuilderday periodsDateTimeFormatter.ofPattern("B").format(LocalTime.now())
此示例根据一天中的时间和地区,生成日期间文本。
核心图书馆/爪哇.利用.流
➜添加流列表()方法界面中添加了新方法。这引入了一个潜在的来源不兼容的类,实现或接口,延长界面,也静态地从其他地方导入一种方法,例如。必须更改对此类方法的引用,以使用合格名称而不是静态导入。
热点/编译器
➜ JEP 338: 矢量 API (孵化器)提供孵化器模块的初始迭代,以表达在运行时可靠编译的矢量计算,以优化支持的 CPU 架构上的矢量硬件指令,从而达到与等效扩展计算的卓越性能。jdk.incubator.vector
热点/编译器
➜改进的编译通信标志编译通信标志具有用于子命令集合的选项类型。这些命令未验证其有效性,因此拼写错误导致命令被忽略。他们有表格:-XX:CompileCommand=option,<method pattern>,<option name>,<value type>,<value>
现在,所有选项命令都以此形式作为普通命令存在:-XX:CompileCommand=<option name>,<method pattern>,<value>
已验证选项名称并推断该类型。如果命令名称不存在,或者值与命令类型不匹配,则会给出有用的错误消息。所有命令名称都是麻木不仁的。
选项命令的旧语法仍然可以使用。已添加选项名称、值类型和值一致的验证。
热点/gc
➜ JEP 376: ZGC 并发堆栈处理Z 垃圾收集器现在同时处理线程堆栈。这允许 ZGC 在并发阶段处理 JVM 中的所有根源,而不是停止世界暂停。ZGC 暂停中完成的工作量现在已变得恒定,通常不超过几百微秒。
热点/gc
➜ G1 中同时未承诺的内存此新功能始终启用并更改 G1 将 Java 堆内存返回操作系统的时间。G1 在 GC 暂停期间仍会做出大小决策,但将昂贵的工作卸载到与 Java 应用程序同时运行的线程上。
热点/运行时间
➜ JEP 387: 弹性元空间JEP 387"弹性元空间"对 VM 内部元空间和类空间实现进行大修。用于类元数据的内存较少。在涉及大量小型颗粒级装载机的情况下,节省效果最为明显。下课卸货时,内存会及时返回操作系统。
在微调的元空间填海中添加了一个开关: .,默认情况下,导致 VM 回收内存,同时将计算开销保持在最低限度: 适度提高回收率,但代价是记账费用略高一些: 完全关闭填海。-XX:MetaspaceReclaimPolicy=
安全库/爪哇安全
➜签署JAR支持RSASS-PSS和埃德萨此增强包括两个主要更改:
JarSigner API 和工具现在支持使用 RSASSA-PSS 或 EdDSA 密钥签名 JAR 文件。jarsigner
与其直接签署文件,不如创建一个签名信息签名归因字段,其中包含内容类型、消息提示、签名时间和CMSAlgoritm 保护。如果选项指定了替代签名机制,则不会生成该字段。请注意,尽管此字段不是在此代码更改之前生成的,但解析签名时始终支持该字段。这意味着新签署的 JAR 文件与字段可以通过较早的 JDK 版本进行验证。.SFjarsignerjarsigner-altsignerjarsigner
安全库/爪哇安全
➜太阳、太阳签名和 SunEC 提供商支持基于 SHA-3 的签名算法SUN、SunRsaSign 和 SunEC 提供商已得到增强,以支持基于 SHA-3 的签名算法。DSA 签名、RSA 和 ECDSA 签名实施与 SHA-3 系列摘要现在通过这些提供商提供支持。此外,来自 SunRsaSign 提供商的 RSASS-PSS 签名实施可以在签名参数中指定时识别 SHA-3 系列摘要。
安全库/爪哇安全
➜罐签名者保留POSIX文件权限和对称属性在签署包含 POSIX 文件权限或对链接属性的文件时,现在在新签名的文件中保留这些属性,但警告这些属性未签名且不受签名保护。在操作此类文件时打印相同的警告。jarsignerjarsigner -verify
请注意,该工具不会读取/写入这些属性。这种变化对于保存这些属性的工具更为明显。jarunzip
安全库/爪哇安全
➜添加-信任和-密钥存储选项键-打印和-打印crl命令和选项已添加到实用程序的命令和命令中。命令不会检查证书签名算法的弱点,如果它是用户的钥匙店或钥匙店中值得信赖的证书。命令使用用户钥匙店或钥匙店的证书验证 CRL,如果无法验证,将打印出警告。-trustcacerts-
安全库/贾瓦克斯.加密
➜ SunPKCS11 提供商支持 SHA-3 相关算法SunPKCS11 提供商已更新了 SHA-3 算法支持。还添加了使用 SHA-3 以外的消息摘要为 Hmac 提供的其他关键生成器支持。当相应的 PKCS11 机制由基础 PKCS11 库支持时,SunPKCS11 提供商现在支持以下其他算法:
- 消息最小: SHA3-224, SHA3-256, SHA3-384, SHA3-512
- Mac: HmacSHA3-224, HmacSHA3-256, 赫马克沙 3-384, 赫马克沙3-512
- 签名: SHA3-224 与 DSA, SHA3-256 与 DSA, SHA3-384 与 DSA, SHA3-512 与 DSA, SHA3-224 与 1363Format, SHA3-256 与 DSainp1363Format, SHA3-384 与 DSAinp1363Format, SHA3-512 与 DSAinp1363Format, SHA3-224 与塞克达, SHA3-256 与塞克达, SHA3-384 与埃塞德萨, SHA3-512 与塞克达, SHA3-224 与 ECDSAINP1363 表, SHA3-256 与 ECDSAINP1363Format, SHA3-384 与 ECDSAINP1363Format, SHA3-512 与 ECDSAINP1363Format, SHA3-224 与RSA, SHA3-256 与RSA, SHA3- 384 与拉萨, 沙 3 - 512 与拉萨, 沙 3 - 224 与拉萨 - Pss, 沙 3 - 256 与拉萨萨 - Pss, 沙 3 - 384 与拉萨萨 - Pss, 沙 3 - 512 与拉萨萨 - Pss 。
- 关键生成器:HmacMD5、HmacSHA1、HmacSHA224、HmacSHA256、HmacSHA384、HmacSHA512、HmacSHA512/224、HmacSHA3-224、HmacSHA3-384、HmacSHA3-512。
安全图书馆/贾瓦克斯.net.ssl
➜改进证书链处理增加了一个新的系统属性,以设置TLS/DTLS握手中握手消息的最大允许大小。系统属性的默认值为 32768(32 千字节)。jdk.tls.maxHandshakeMessageSize
增加了一个新的系统属性,以设置TLS/DTLS握手证书链的最大允许长度。系统属性的默认值为 10。jdk.tls.maxCertificateChainLength
JDK-8245417(非公开)
安全图书馆/贾瓦克斯.net.ssl
➜改进 TLS 应用层协议谈判 (ALPN) 值的编码某些 TLS ALPN 值无法由 SunJSSE 提供商正确读取或编写。这是由于选择字符串作为 API 界面,以及 UTF-8 字符集的无证内部使用,该集将大于 U+00007F (7 位 ASCII) 的字符转换为多字体阵列,同行可能无法预期。
ALPN 值现在使用同行期望的网络字节表示来表示,这应该不需要修改基于标准的 7 位 ASCII 字符串。但是,SunJSSE 现在将字符串字符编码/解码为 8 位ISO_8859_1/拉丁-1 字符。这意味着使用 U+000007F 以上以前使用 UTF-8 编码的字符的应用程序可能需要修改以执行 UTF-8 转换,或者将 Java 安全属性
jdk.tls.alpnCharset设置为"UTF-8"以恢复行为。
安全图书馆/贾瓦克斯.net.ssl
➜ EDSA 签名算法的 TLS 支持SunJSSE 提供商现在支持使用 EdDSA 签名算法。具体来说,SunJSSE 可以使用包含 EdDSA 密钥的证书进行服务器端和客户端身份验证,并可以使用与 EdDSA 算法签名的证书。此外,需要数字签名的 TLS 握手消息支持 EdDSA 签名。
工具/爪哇
➜ JEP 397: 密封类(第二次预览)在 JDK 16 中再次预览了密封类和界面,最初添加到 JDK 15 中的 Java 语言中。密封类和接口限制了哪些其他类或接口可以扩展或实施它们。
For further details, see
JEP 397.
See JDK-8246775
工具/爪哇
➜ JEP 395: 记录记录已添加到爪哇语中。记录是爪哇语中的一种新类。它们充当不可变数据的透明载体,其仪式比正常类别少。
For further details, see
JEP 395.
See JDK-8246771
工具/爪哇
➜JEP 394:模式匹配例如在 JDK 16 中,操作员的模式匹配已成为爪哇语的最终和永久功能。模式匹配允许Java程序中的常见逻辑更简洁、更安全地表达,即有条件地从物体中提取组件。instanceof
For further details, see
JEP 394.
See JDK-8250623
工具/包装
➜ JEP 392: 包装工具提供工具,用于包装自成一体的 Java 应用程序。JEP 343 将 JDK 14 作为孵化工具引入。它仍然是 JDK 15 中的孵化工具,以便有时间进行其他反馈。它已在 JDK 16 中从孵化推广到生产就绪功能。由于这种过渡,模块的名称已更改为 。jpackagejpackage tooljpackagejdk.incubator.jpackagejdk.jpackage
For further details, see
JEP 392.
Features and Features of Java SE Development Kit: - Huge selection of software and tools needed for Java programming
- Ability to test and run software developed by the Java programming language
- Contains annotation processing tools
- The `idlj` IDL compiler to Java
- Utilities for the convenience of software development
System Requirements RAM: 128 MBProcessor: Minimum Pentium 2 266 MHz processor 本部分内容设定了隐藏,需要回复后才能看到