闪电下载吧 最新软件 免费软件 绿色软件

教程资讯 软件专题

您的位置:SD124 > 应用软件 > 编程开发 > Java SE Development Kit 20.0.2

Java SE Development Kit 20.0.2

  • 软件大小:未知
  • 更新日期:2023-07-19
  • 官方网站:闪电下载吧
  • 软件等级:★★★☆☆
  • 运行环境:Winxp/Win7/Win8/Win10
Java SE Development Kit 20.0.2
  • 软件说明
  • 软件截图
  • 下载地址
  • 相关软件
  • 用户评论
  • 投诉建议: 858898909@qq.com
Java SE Development Kit(JDK)20是Java 平台标准版开发工具包 。JDK 是一个开发环境,用于使用 Java 编程语言构建应用程序和组件。JDK 包括用于开发、测试和监视用 Java 编程语言编写并在 Java 平台上运行的程序的工具。Java Platform, Standard Edition 20 Development Kit (JDK 20) 是 Java SE 平台的一个功能版本。它包含许多功能领域的新功能和增强功能。

安装说明

1、下载并解压,开始安装,安装目录

2、安装完成,退出向导

JDK20新功能

一、主要新功能
1、语言功能预览
吉普432记录模式(第二预览版)
使用记录模式增强Java编程语言以解构记录值。可以嵌套记录模式和类型模式,以实现功能强大、声明性和可组合形式的数据导航和处理。这是一项预览语言功能。
吉普车433交换机的模式匹配(第四个预览版)
通过表达式和语句的模式匹配来增强Java编程语言。扩展模式匹配允许针对多个模式测试表达式,每个模式都有一个特定的操作,以便可以简洁安全地表达复杂的面向数据的查询。这是一项预览语言功能。switchswitch
2、库预览
吉普434外部函数和内存API(第二预览版)
引入一个API,通过该API,Java程序可以与Java运行时之外的代码和数据进行互操作。通过有效地调用外部函数(即JVM外部的代码)和安全地访问外部内存(即不由JVM管理的内存),API使Java程序能够调用本机库并处理本机数据,而不会像JNI那样脆弱和危险。这是一个预览版API。
吉普438矢量API(第五个培养箱)
引入一个API来表达矢量计算,该计算在运行时可靠地编译为支持的CPU架构上的最佳矢量指令,从而实现优于等效标量计算的性能。
3、并发模型预览和孵化器
吉普车429作用域值(孵化器)
引入作用域值,允许在线程内和线程之间共享不可变数据。它们优先于线程局部变量,尤其是在使用大量虚拟线程时。这是一个孵化API。
吉普车436虚拟线程(第二预览版)
将虚拟线程引入Java平台。虚拟线程是轻量级线程,可显著减少编写、维护和观察高吞吐量并发应用程序的工作量。这是一个预览版API。
吉普437结构化并发(第二个孵化器)
通过引入结构化并发API来简化多线程编程。结构化并发将在不同线程中运行的多个任务视为单个工作单元,从而简化错误处理和取消,提高可靠性并增强可观测性。这是一个孵化API。
二、新功能
本节介绍 Java SE 20 和 JDK 20 中的一些增强功能。在某些情况下,说明提供了指向有关问题或更改的其他详细信息的链接。此处描述的 API 随 Oracle JDK 一起提供。它包括 Java SE 20 平台的完整实现和其他 Java API,以支持开发、调试和监视 Java 应用程序。有关 Java SE 20 和 JDK 20 中重要增强功能和新功能的另一个信息来源是 Java SE 20 (JSR 395) 平台规范,它记录了 Java SE 17 和 Java SE 20 之间对规范所做的更改。本文档包括这些新功能和增强功能的说明,这些功能和增强功能也是对规范的更改。这些描述还标识了迁移到 JDK 20 时可能遇到的潜在兼容性问题。
core-libs/java.lang
➜ 支持 Unicode 15.0 (JDK-8284842)
此版本将 Unicode 版本升级到 15.0,其中包括 Unicode 字符数据库、Unicode 标准附件 #9、#15 和 #29 的更新版本:该类支持 Unicode 字符数据库,该数据库添加了 4,489 个字符,总共 149,186 个字符。这些新增内容包括 2 个新脚本,总共 161 个脚本,以及 20 个新表情符号字符和 4,193 个 CJK(中文、日语和韩语)表意文字。和类分别支持 Unicode 标准附件 #9 和 #15。该软件包支持基于 Unicode 标准附录 #29 的扩展字形簇。有关 Unicode 15.0 的更多详细信息,请参阅 Unicode 联盟的发行说明。java.lang.Characterjava.text.Bidijava.text.Normalizerjava.util.regex
热点/GC
➜ 在 G1 中添加垃圾收集器MXBean用于备注和清理暂停时间 (JDK-8297247)
名为“G1 并发 GC”的新名称已添加到 G1 垃圾回收器中。GarbageCollectorMXBean
这将报告备注和清理垃圾回收暂停的发生次数和持续时间。GarbageCollectorMXBean
与 中的 “CGC” 字段类似,一个完整的并发标记周期将使 Bean 的收集计数器增加 2,一个用于备注,一个用于清理暂停。这些暂停现在还会更新“G1 Old Gen”内存池。jstat -gcutilMemoryManagerMXBean
security-libs/java.security
➜ 新的JFR活动:JDK。初始安全属性 (JDK-8292177)
添加了一个新的 Java 飞行记录器 (JFR) 事件,用于在通过类加载时记录初始安全属性的详细信息。java.security.Security
新事件名称是 并包含以下字段:jdk.InitialSecurityProperty

默认情况下启用此新 JFR 事件。系统属性现在还将初始安全属性打印到标准错误流。有了这个新事件和已经可用的“jdk.SecurityPropertyModification' 事件(启用时,因为它缺省情况下未启用),JFR 记录现在可以监视所有安全属性的初始设置和任何后续更改。java.security.debug=properties
security-libs/java.security
➜ 新的JFR活动:JDK。安全提供程序服务 (JDK-8254711)
添加了一个新的 Java 飞行记录器 (JFR) 事件来记录呼叫的详细信息。java.security.Provider.getService(String type, String algorithm)
新事件名称是 并包含以下字段:jdk.SecurityProviderService

缺省情况下,此事件处于禁用状态,可以通过 JFR 配置文件或标准 JFR 选项启用。
security-libs/javax.crypto
➜ 在具有 AVX1305 指令的 x86_64 平台上提供 Poly512 Intrinsic (JDK-8288047)
此功能在 SunJCE 提供程序的 Poly512 消息身份验证代码算法的 x86_64 平台上使用 AVX1305 指令提供优化的内部函数。默认情况下,在支持的x86_64平台上启用此优化,但可以通过提供命令行选项来禁用此优化。-XX:+UnlockDiagnosticVMOptions -XX:-UsePoly1305Intrinsics
security-libs/javax.crypto
➜ 在 x20_86 和 aarch64 平台上提供 ChaCha64 内部函数 (JDK-8247645 )
此功能为 SunJCE 提供商提供的 ChaCha20 密码提供了优化的内部实现。这些优化的例程专为支持 AVX、AVX86 和/或 AVX64 指令集的x2_512芯片组以及支持高级 SIMD 指令集的 aarch64 芯片而设计。默认情况下,这些内部函数在支持平台上处于启用状态,但可以通过向 Java 提供命令行选项来禁用这些内部函数。控制内部函数的标志需要该选项。-XX:-UseChaCha20Intrinsics -XX:+UnlockDiagnosticVMOptions
工具/javac
➜ Javac 警告复合赋值中可能存在有损转换的类型转换 (JDK-8244681)
添加了新的 lint 选项,以警告复合赋值中的类型转换,并可能进行有损转换。如果复合赋值的右侧操作数类型与变量类型不兼容赋值,则隐含强制转换,并且可能发生有损转换。lossy-conversionsjavac
可以使用 禁止显示新警告。@SuppressWarnings("lossy-conversions")
security-libs/javax.net.ssl
➜ (D)TLS 密钥交换命名组 (JDK-8281236)
添加了新的 Java SE API 和 ,以允许应用程序定制在单个 TLS 或 DTLS 连接中使用的密钥交换算法的命名组。javax.net.ssl.SSLParameters.getNamedGroups()javax.net.ssl.SSLParameters.setNamedGroups()
基础提供程序可以为每个 TLS 或 DTLS 连接定义默认命名组。应用程序还可以使用现有系统属性来自定义特定于提供程序的默认命名组。否则,传递给该方法的命名组将覆盖指定 TLS 或 DTLS 连接的默认命名组。jdk.tls.namedGroupsnullsetNamedGroups()
请注意,提供程序可能尚未更新以支持新的 API,在这种情况下,可能会忽略设置的命名组。JDK SunJSSE 提供程序支持此方法。建议第三方提供商在添加对 JDK 19 或更高版本的支持时添加对这些方法的支持。
工具
➜新的“jmod --compress”命令行选项 (JDK-8293499)
该工具中添加了一个新的命令行选项,用于在创建 JMOD 存档时指定压缩级别。接受的值为 ,其中不提供压缩,但提供最佳压缩。默认值为 。--compressjmodzip-[0-9]zip-0zip-9zip-6
security-libs/javax.net.ssl
➜ DTLS 恢复使用 HelloVerifyRequest 消息 (JDK-8287411)
通过此修复,默认情况下,SunJSSE DTLS 实现将交换所有握手(包括新的和恢复的握手)的 cookie,除非系统属性为 。该属性仅影响恢复的 cookie 交换。jdk.tls.enableDtlsResumeCookiefalse
三、已删除的功能和选项
本节介绍在 Java SE 20 和 JDK 20 中删除的 API、功能和选项。此处描述的 API 是随 Oracle JDK 提供的 API。它包括 Java SE 20 平台的完整实现和其他 Java API,以支持开发、调试和监视 Java 应用程序。Java SE 20和JDK 20中的重要增强功能和新功能的另一个信息来源是Java SE 20(JSR 395)平台规范,它记录了Java SE 17和Java SE 20之间对规范所做的更改。本文档包括此处未描述的已删除 API 和功能的标识。下面的描述还可能确定迁移到 JDK 20 时可能遇到的潜在兼容性问题。有关在 JDK 20 中关闭的 CSR 列表,请参阅 JDK 20 批准的 CSR。
core-libs/java.lang
➜ 线程挂起/恢复更改为抛出不支持的操作异常 (JDK-8249627)
在此版本中,已删除使用 and 方法挂起或恢复线程的功能。方法已更改为抛出 .这些方法本质上容易死锁,并且自 JDK 1.2 (1998) 以来已被弃用。在 Java 19 中,用于挂起或恢复一组线程的相应方法已更改为 throw。Thread.suspend()Thread.resume()UnsupportedOperationExceptionThreadGroupUnsupportedOperationException
core-libs/java.lang
➜ 线程停止更改为抛出不支持的操作异常 (JDK-8289610)
在此版本中,删除了使用该方法“停止”线程的功能。该方法已更改为抛出 。通过导致线程抛出来阻止线程本质上是不安全的。该方法自 JDK 1.2 (1998) 起已弃用。在 Java 19 中,用于“停止”一组线程的相应方法已更改为 throw。Thread.stop()UnsupportedOperationExceptionjava.lang.ThreadDeathstopThreadGroupUnsupportedOperationException
作为此更改的一部分,已弃用以进行删除。java.lang.ThreadDeath
工具/javac
➜ 删除对 javac -source/-target/-release 7 (JDK-8173605)
与 JEP 182:停用 javac -source 和 -target 选项的策略中概述的策略一致,已删除对 javac 的 、 和标志的 7/1.7 参数值的支持。-source-target--release
热点/GC
➜ 改进了对 G1 并发精简线程的控制 (JDK-8137022)
G1 并发精简线程的控制已被完全取代。新控制器通常分配较少的线程。它往往在细化线程活动中具有较少的峰值。它还倾向于延迟细化,当对相同或附近的位置进行多次写入时,允许写入屏障进行更多过滤,从而提高屏障的效率。
有许多命令行选项用于为旧控制器提供参数值。这些与新控制器无关,不再用于任何有用的目的。它们都已经过时了;在命令行上指定其中任何一个只会打印有关该选项已过时的警告消息。这些参数是:
-XX:-G1UseAdaptiveConcRefinement
-XX:G1ConcRefinementGreenZone=缓冲区计数 缓冲区计数
缓冲区计数 缓冲区计数
毫秒-XX:G1ConcRefinementYellowZone=-XX:G1ConcRefinementRedZone=-XX:G1ConcRefinementThresholdStep=-XX:G1ConcRefinementServiceIntervalMillis=
这些选项将在将来的某个版本中完全删除。在此之后使用这些选项中的任何一个都将终止虚拟机的启动。
四、已弃用的功能和选项
有关 Java SE 20 和 JDK 20 中不推荐使用的 API、功能和选项的其他信息来源包括:
“不推荐使用的 API”页面标识所有已弃用的 API,包括在 Java SE 20 中不推荐使用的 API。
Java SE 20 (JSR 395) 规范记录了 Java SE 17 和 Java SE 20 之间对规范所做的更改,其中包括此处未描述的已弃用 API 和功能的标识。
JEP 277:增强型弃用提供了弃用策略的详细说明。您应该了解本文档中描述的更新策略。
您应该了解这些文档中的内容以及本发行说明页面中描述的项目。
已弃用 API 的说明可能包括对 和 的弃用警告的引用。该文本指示已弃用的 API 可能会从下一个主要版本中删除。该文本指示已弃用的 API 预计不会从下一个主要版本中删除,但可能会在以后的某个版本中删除。forRemoval=trueforRemoval=falseforRemoval=trueforRemoval=false
以下说明还标识了迁移到 JDK 20.有关在 JDK 20 中关闭的 CSR 列表,请参阅 JDK 20 批准的 CSR。
core-libs/java.net
➜ java.net.URL 构造函数已弃用 (JDK-8294241)
此版本中已弃用构造函数。java.net.URL
鼓励开发人员使用来解析或构造 URL。在需要 的实例来打开连接的情况下,可用于构造或分析 URL 字符串,可能调用以验证颁发机构组件是否可以解析为基于服务器的颁发机构,然后调用以创建实例。java.net.URIjava.net.URLjava.net.URIURI::parseServerAuthority()URI::toURL()URL
为需要构造具有给定自定义流处理程序的高级用法提供了一种新方法。URL::of(URI, URLStreamHandler)URL
有关更多详细信息,请参阅 java.net.URL API 文档。
core-svc/javax.management
➜ 弃用 JMX 管理小程序以进行删除 (JDK-8297794)
Java 管理扩展 (JMX) 管理小程序 (m-let) 功能在将来的发行版中已被弃用,因为它与现代应用程序无关 - 中不推荐使用的公共类是: 。javax.management.loadingMLet, MLetContent, PrivateMLet, MLetMBean
这对用于本地和远程监视的 JMX 代理、Java 虚拟机的内置检测或使用 JMX 的工具没有影响。
五、已知问题
以下说明描述了此版本中的已知问题或限制。
XML/JAXP
➜ JDK XSLT 转换器限制 (JDK-8290347)
使用 JDK XSLT 转换器将样式表转换为 Java 对象的应用程序可能会遇到以下异常:
com.sun.org.apache.xalan.internal.xsltc.compiler.util.InternalError: Internal XSLTC error: a method in the translet exceeds the Java Virtual Machine limitation on the length of a method of 64 kilobytes. This is usually caused by templates in a stylesheet that are very large. Try restructuring your stylesheet to use smaller templates.
如果 XSL 模板的大小太大,应用程序将遇到上述异常。建议将 XSL 模板拆分为较小的模板。或者,应用程序可以通过在类路径中提供第三方实现 JAR 文件来重写 JDK XSLT 转换器。
热点/编译器
➜ java.lang.Float.floatToFloat16 和 java.lang.Float.float16ToFloat 在由 JIT 编译器优化时可能会返回不同的 NaN 结果 (JDK-8302976)
JDK 20 引入了两种新方法,可用于与 IEEE 754 二进制 16 格式进行转换:和 。java.lang.Float.floatToFloat16java.lang.Float.float16ToFloat
当 JIT 编译器优化时,新方法可能会返回不同的 NaN 结果。若要禁用这些方法的 JIT 编译器优化,可以使用以下命令行选项:。-XX:+UnlockDiagnosticVMOptions -XX:DisableIntrinsic=_floatToFloat16,_float16ToFloat
  • 标签
下载地址
有任何意见或者建议请联系邮箱:858898909[at]qq.com 本站部分内容收集于互联网,如果有侵权内容、不妥之处,请联系我们删除。敬请谅解!
Copyright © 2012 SDBETA.com. All Rights Reserved 豫ICP备12021367号 豫公网安备 41019702002546号闪电下载吧