Java 17是一款十分专业的编程工具,主要应用于web网页的开发、Android的开发、客户端的开发等等,对于开发人员来说,Java基本等于了JDK。而在新的版本中,进行了一些功能增强,有需要的小伙伴们快来下载体验吧!
新功能
? JEP 409:密封类
密封类已添加到 Java 语言中。密封类和接口限制哪些其他类或接口可以扩展或实现它们。
密封类由JEP 360提出,并在 JDK 15 中作为预览功能提供。它们由JEP 397再次提出并进行了改进,并作为预览功能在 JDK 16 中提供。现在在 JDK 17 中,密封类正在最终确定,与 JDK 16 没有任何变化。
? JEP 406:开关模式匹配(预览)
使用 switch 表达式和语句的模式匹配以及对模式语言的扩展来增强 Java 编程语言。将模式匹配扩展到 switch 允许针对多个模式测试表达式,每个模式都有特定的操作,以便可以简洁安全地表达复杂的面向数据的查询。
? JEP 382:新的 macOS 渲染管线
Swing API 用于渲染的 Java 2D API 现在可以使用适用于 macOS 的新 Apple Metal 加速渲染 API。
当前默认禁用此功能,因此渲染仍使用 OpenGL API,Apple 已弃用这些 API,但仍可用并受支持。
要启用 Metal,应用程序应通过设置系统属性来指定其用途:
-Dsun.java2d.metal=true
Metal 或 OpenGL 的使用对应用程序是透明的,因为这是内部实现的差异并且对 Java API 没有影响。金属管道需要 macOS 10.14.x 或更高版本。将忽略在早期版本上设置它的尝试。
? 用于访问大图标的新 API
javax.swing.filechooser.FileSystemView.getSystemIcon(File, int, int)JDK 17 中提供了一种新方法 ,可以在可能的情况下访问更高质量的图标。完全针对Windows平台实现;但是,其他平台上的结果可能会有所不同,稍后会得到增强。例如,通过使用以下代码:
FileSystemView fsv = FileSystemView.getFileSystemView();
Icon icon = fsv.getSystemIcon(new File(“application.exe”), 64, 64);
JLabel label = new JLabel(icon);
用户可以获得更高质量的“application.exe”文件图标。此图标适用于创建在 HighDPI 环境中可以更好缩放的标签。
? DatagramSocket 可以直接用于加入多播组
java.net.DatagramSocket此版本中已更新以添加对加入多播组的支持。现在定义joinGroup和leaveGroup方法加入和离开组播组。java.net.DatagramSocket已更新的类级 API 文档解释了如何DatagramSocket配置普通的以及如何使用它来加入和离开多播组。
此更改意味着DatagramSocketAPI 可用于多播应用程序,而无需使用旧版java.net.MulticastSocketAPI。该MulticastSocketAPI的工作和以前一样,虽然它的大多数方法已被弃用。
? JEP 356:增强型伪随机数生成器
为伪随机数生成器 (PRNG) 提供新的接口类型和实现,包括可跳转的 PRNG 和额外的一类可拆分 PRNG 算法 (LXM)。
? 理想图形可视化器的现代化
Ideal Graph Visualizer (IGV) 是一种以可视化和交互方式探索 HotSpot VM C2 即时 (JIT) 编译器中使用的中间表示的工具,已经现代化。增强功能包括:
支持在高达 JDK 15(IGV 底层 NetBeans 平台支持的最新版本)上运行 IGV
更快的基于 Maven 的 IGV 构建系统
稳定块形成、组移除和节点跟踪
默认过滤器中更直观的着色和节点分类
具有更自然默认行为的排名快速节点搜索
现代化的 IGV与早期 JDK 版本生成的图形部分兼容。它支持图形加载和可视化等基本功能,但可能会影响节点聚类和着色等辅助功能。
src/utils/IdealGraphVisualizer/README.md工具源目录中的文件中提供了有关构建和运行 IGV 的详细信息。
? 错误消息中的源详细信息
当 JavaDoc 报告输入源文件中的问题时,它会显示该问题的源代码行,以及包含^指向该行位置的插入符号 ( ) 的行,其方式类似于编译器 ( javac) 诊断消息。
此外,日志和其他“信息”消息现在被写入标准错误流,让标准输出流用于命令行选项特别请求的输出,例如命令行帮助。
工具/javadoc(工具)
? 新的“新 API”页面和改进的“弃用”页面
JavaDoc 现在可以生成一个页面,总结最近 API 的变化。要包含的最新版本列表是使用--since命令行选项指定的。这些值用于查找@since要包含在新页面上的具有匹配标签的声明。该--since-label命令行选项提供了“新API”页面的标题文本使用。
在汇总弃用项目的页面上,您可以查看按弃用项目所在版本分组的项目。
核心库
? JEP 412:外部函数和内存 API(孵化器)
介绍一个 API,Java 程序可以通过该 API 与 Java 运行时之外的代码和数据进行互操作。通过有效调用外部函数(即 JVM 之外的代码),以及安全地访问外部内存(即不由 JVM 管理的内存),API 使 Java 程序能够调用本地库和处理本地数据,而没有JNI。
? 控制台字符集 API
java.io.Console已更新以定义返回Charset控制台的新方法。返回的字符集可能与从Charset.defaultCharset()方法返回的字符集不同。例如,它返回IBM437whileCharset.defaultCharset()返回windows-1252Windows (en-US)。有关更多详细信息,请参阅CSR。
? 用于反序列化的 JDK 飞行记录器事件
现在可以使用 JDK Flight Recorder (JFR) 监视对象的反序列化。当启用 JFR 并且 JFR 配置包括反序列化事件时,每当正在运行的程序尝试反序列化对象时,JFR 都会发出一个事件。反序列化事件名为jfr.Deserialization,默认情况下是禁用的。反序列化事件包含序列化过滤器机制使用的信息;请参阅ObjectInputFilter规范。此外,如果启用了过滤器,则 JFR 事件指示过滤器是接受还是拒绝对象的反序列化。有关如何使用 JFR 反序列化事件的更多信息,请参阅文章监控反序列化以提高应用程序安全性。 有关使用和配置 JFR 的参考信息,请参阅JDK 任务控制文档的JFR 运行时指南和JFR 命令参考部分。
其它行业
其它行业
其它行业
其它行业
其它行业
其它行业
微信电脑版是微信的电脑客户端软件,与手机版可以进行消息的互通及共享,而电脑版相比手机版有一些不一样的地方,它可以帮助用户更好的传送文件,不管是在生活中还是办公上,微信都已经成为人们...
爱思助手是一款强大的苹果手机管理工具,能够进行手机数据备份,用户可以通过软件将想要备份的数据备份到电脑本地,同时也可以通过软件将数据恢复到手机内,软件也可以轻松给手机刷机,用户还可...
猿辅导是一款功能非常强大的在线教学平台,它基于大数据教研、汇聚全国名师,能够精准匹配各地教材,为初高中学生提供真人在线辅导。猿辅导在数据挖掘和人工智能上的技术积累,实现每一个学生每...
FTP Disk是一款能将FTP空间映射到本地,像普通硬盘、文件夹一样访问的软件,用户通过该软件可轻松管理大量服务器,只要你会使用电脑就能掌握使用FTP。用户将想要上传的文件拖放到列表上的服务器...
Firefox火狐浏览器是一款自由及开放源代码的网页浏览器,使用Gecko排版引擎,支持多种操作系统,这里提供的是Windows系统32位版本下载,用户可以登录账号来同步你的书签、密码、历史记录信息,...
金舟截图软件是由金舟推出的一款屏幕截图软件,支持全屏截图、矩形截图、滚动捕捉等截图方式,基本满足用户的日常截图需求。软件还提供拾色器,尺子,二维码生成,图像合并等功能,还支持快捷键...
发表评论
共0条
评论就这些咯,让大家也知道你的独特见解
立即评论以上留言仅代表用户个人观点,不代表u老九立场