⑴Java 是一款十分专业的编程工具,主要应用于web网页的开发、Android的开发、客户端的开发等等,对于开发人员来说,Java基本等于了JDK。而在新的版本中,进行了一些功能增强,有需要的小伙伴们快来下载体验吧!
⑵? JEP :密封类
⑶密封类已添加到 Java 语言中。密封类和接口限制哪些其他类或接口可以扩展或实现它们。
⑷密封类由JEP 提出,并在 JDK 中作为预览功能提供。它们由JEP 再次提出并进行了改进,并作为预览功能在 JDK 中提供。现在在 JDK 中,密封类正在最终确定,与 JDK 没有任何变化。
⑸? JEP :开关模式匹配(预览
⑹使用 switch 表达式和语句的模式匹配以及对模式语言的扩展来增强 Java 编程语言。将模式匹配扩展到 switch 允许针对多个模式测试表达式,每个模式都有特定的操作,以便可以简洁安全地表达复杂的面向数据的查询。
⑺? JEP :新的 macOS 渲染管线
⑻Swing API 用于渲染的 Java D API 现在可以使用适用于 macOS 的新 Apple Metal 加速渲染 API。
⑼当前默认禁用此功能,因此渲染仍使用 OpenGL API,Apple 已弃用这些 API,但仍可用并受支持。
⑽要启用 Metal,应用程序应通过设置系统属性来指定其用途:
⑾-Dsun.javad.metal=true
⑿Metal 或 OpenGL 的使用对应用程序是透明的,因为这是内部实现的差异并且对 Java API 没有影响。金属管道需要 macOS ..x 或更高版本。将忽略在早期版本上设置它的尝试。
⒀? 用于访问大图标的新 API
⒁javax.swing.filechooser.FileSystemView.getSystemIcon(File, int, intJDK 中提供了一种新方法 ,可以在可能的情况下访问更高质量的图标。完全针对Windows平台实现;但是,其他平台上的结果可能会有所不同,稍后会得到增强。例如,通过使用以下代码:
⒂FileSystemView fsv = FileSystemView.getFileSystemView(;
⒃Icon icon = fsv.getSystemIcon(new File(“application.exe”, , ;
⒄JLabel label = new JLabel(icon;
⒅用户可以获得更高质量的“application.exe”文件图标。此图标适用于创建在 HighDPI 环境中可以更好缩放的标签。
⒆? DatagramSocket 可以直接用于加入多播组
⒇java..DatagramSocket此版本中已更新以添加对加入多播组的支持。现在定义joinGroup和leaveGroup方法加入和离开组播组。java..DatagramSocket已更新的类级 API 文档解释了如何DatagramSocket配置普通的以及如何使用它来加入和离开多播组。
⒈此更改意味着DatagramSocketAPI 可用于多播应用程序,而无需使用旧版java..MulticastSocketAPI。该MulticastSocketAPI的工作和以前一样,虽然它的大多数方法已被弃用。
⒉? JEP :增强型伪随机数生成器
⒊为伪随机数生成器 (PRNG 提供新的接口类型和实现,包括可跳转的 PRNG 和额外的一类可拆分 PRNG 算法 (LXM。
⒋? 理想图形可视化器的现代化
⒌Ideal Graph Visualizer (IGV 是一种以可视化和交互方式探索 HotSpot VM C 即时 (JIT 编译器中使用的中间表示的工具,已经现代化。增强功能包括:
⒍支持在高达 JDK (IGV 底层 Beans 平台支持的最新版本上运行 IGV
⒎更快的基于 Maven 的 IGV 构建系统
⒏稳定块形成、组移除和节点跟踪
⒐默认过滤器中更直观的着色和节点分类
⒑具有更自然默认行为的排名快速节点搜索
⒒现代化的 IGV与早期 JDK 版本生成的图形部分兼容。它支持图形加载和可视化等基本功能,但可能会影响节点聚类和着色等辅助功能。
⒓src/utils/IdealGraphVisualizer/README.md工具源目录中的文件中提供了有关构建和运行 IGV 的详细信息。
⒔? 错误消息中的源详细信息
⒕当 JavaDoc 报告输入源文件中的问题时,它会显示该问题的源代码行,以及包含^指向该行位置的插入符号 ( 的行,其方式类似于编译器 ( javac 诊断消息。
⒖此外,日志和其他“信息”消息现在被写入标准错误流,让标准输出流用于命令行选项特别请求的输出,例如命令行帮助。
⒗工具/javadoc(工具
⒘? 新的“新 API”页面和改进的“弃用”页面
⒙JavaDoc 现在可以生成一个页面,总结最近 API 的变化。要包含的最新版本列表是使用--since命令行选项指定的。这些值用于查找since要包含在新页面上的具有匹配标签的声明。该--since-label命令行选项提供了“新API”页面的标题文本使用。
⒚在汇总弃用项目的页面上,您可以查看按弃用项目所在版本分组的项目。
⒛? JEP :外部函数和内存 API(孵化器
①介绍一个 API,Java 程序可以通过该 API 与 Java 运行时之外的代码和数据进行互操作。通过有效调用外部函数(即 JVM 之外的代码,以及安全地访问外部内存(即不由 JVM 管理的内存,API 使 Java 程序能够调用本地库和处理本地数据,而没有JNI。
②? 控制台字符集 API
③java.io.Console已更新以定义返回Charset控制台的新方法。返回的字符集可能与从Charset.defaultCharset(方法返回的字符集不同。例如,它返回IBMwhileCharset.defaultCharset(返回windows-Windows (en-US。有关更多详细信息,请参阅CSR。
④? 用于反序列化的 JDK 飞行记录器事件
⑤现在可以使用 JDK Flight Recorder (JFR 监视对象的反序列化。当启用 JFR 并且 JFR 配置包括反序列化事件时,每当正在运行的程序尝试反序列化对象时,JFR 都会发出一个事件。反序列化事件名为jfr.Deserialization,默认情况下是禁用的。反序列化事件包含序列化过滤器机制使用的信息;请参阅ObjectInputFilter规范。此外,如果启用了过滤器,则 JFR 事件指示过滤器是接受还是拒绝对象的反序列化。有关如何使用 JFR 反序列化事件的更多信息,请参阅文章监控反序列化以提高应用程序安全性。 有关使用和配置 JFR 的参考信息,请参阅JDK 任务控制文档的JFR 运行时指南和JFR 命令参考部分。