热门排行
简介
JDK 18 / Java 18 GA 发布。JDK 18 是一个短期维护版本,将获得六个月的支持。尽管如此,但它仍然可用于生产环境中。根据开发计划,JDK 19 将于今年 9 月发布,而下一个 LTS 版本 JDK 21 将于 2023 年 9 月发布。
更新介绍
JDK 18 共包括 9 个 JEP,以及数百个较小的增强功能和一千多个错误修复。
400: UTF-8 by Default
408: Simple Web Server
413: Code Snippets in Java API Documentation
416: Reimplement Core Reflection with Method Handles
417: Vector API (Third Incubator)
418: Internet-Address Resolution SPI
419: Foreign Function & Memory API (Second Incubator)
420: Pattern Matching for switch (Second Preview)
421: Deprecate Finalization for Removal
默认编码为 UTF-8
将 UTF-8 指定为标准 Java API 的默认字符集。 通过此更改,依赖于默认字符集的 API 将在所有实现、操作系统、语言环境和配置中保持一致。
简易 HTTP 服务器
提供命令行工具来启动一个仅提供静态文件的最小 Web 服务器。没有可用的 CGI 或类似 servlet 的功能。该工具可用于原型设计、临时编码和测试目的,尤其是在教育环境中。
Java API 文档中的代码片段
为 JavaDoc 的 Standard Doclet 引入一个 @snippet 标签,以简化 API 文档中的示例源代码。
用方法句柄(Method Handles)重新实现 Java 核心反射
在 java.lang.invoke 方法句柄的基础上重新实现 java.lang.reflect.Method、Constructor 和 Field。让方法句柄成为反射的底层机制将减少 java.lang.reflect 和 java.lang.invoke API 的维护和开发成本。
Vector API (第三次进行孵化)
引入一个 API 来表达在运行时能够可靠编译的向量计算,在支持的 CPU 架构上优化向量指令,从而实现优于标量计算的性能。
互联网地址解析 SPI
定义一个用于主机名称和地址解析的服务供给接口(SPI),以便 java.net.InetAddress 可以使用平台内置解析器以外的解析器。
外部函数和内存 API(第二次进行孵化)
引入一个 API,通过它,Java 程序可以与 Java 运行时之外的代码和数据进行互操作。通过有效地调用外部函数,以及安全地访问外部内存,该 API 使 Java 程序能够调用本地库并处理本地数据,而没有 JNI 的脆弱性和危险。
Switch 模式匹配(第二次进行预览)
用 switch 表达式和语句的模式匹配,以及对模式语言的扩展来增强 Java 编程语言。将模式匹配扩展到 switch 中,允许针对一些模式测试表达式,这样就可以简明而安全地表达复杂的面向数据的查询。这是 JDK 18 中的一个预览的语言功能。
弃用 Finalization,以便在未来删除
弃用 Finalization,以便在未来的版本中删除它。目前 Finalization 仍然是默认启用的,但可以禁用它以便进行早期测试。在之后的版本中,它将率先被默认禁用,并在未来的版本中将其彻底删除。依赖于 Finalization 的库和应用程序的维护者应该考虑迁移到其他资源管理技术,如 try-with-resources 语句。
macOS 安装 JDK
.dmg从.tar.gz页面下载所需的 JDK或文件
单击接受许可协议。
从浏览器下载窗口或文件浏览器,双击.dmg文件以启动它。
出现一个Finder窗口,其中包含一个打开框的图标和.pkg文件名。
双击该图标以启动安装应用程序。JDK 17.pkg
安装应用程序显示简介窗口。
点击继续。
在安装类型窗口出现。
单击安装。
出现一个窗口,显示消息: 安装程序正在尝试安装新软件。输入您的密码以允许此操作。
输入管理员用户名和密码,然后单击安装软件。
安装软件并显示确认窗口。
安装软件后,如果要节省磁盘空间,可以删除.dmg 或 .tar.gz文件。