Java 18
约 2 分钟阅读
- Released: 2022-03-22
- JDK 18 Project链接openjdk.org/projects/jdk/18Released: 2022-03-22 · JDK 18 Project · UTF-8 成为默认字符集,简单 Web 服务器和 Javadoc 代码片段加入,Finalization 开始废弃。 · 默认 UTF-8 可能改变依赖系统默认编码的旧程序行为。笔记:Java 18
核心总结
- UTF-8 成为默认字符集,简单 Web 服务器和 Javadoc 代码片段加入,Finalization 开始废弃。
升级关注
- 默认 UTF-8 可能改变依赖系统默认编码的旧程序行为。
- Finalization 已进入移除路线,新代码避免依赖 finalize。
示例
Simple Web Server
jwebserver -p 8080 -d ./publicUTF-8 by Default
// 不再依赖操作系统默认编码;默认 charset 是 UTF-8。
System.out.println(java.nio.charset.Charset.defaultCharset());JEPs
| JEP | 状态 | 分类 | 标题 | 中文描述 |
|---|---|---|---|---|
| JEP 400 | 正式 | 库/API | UTF-8 by Default | 标准 Java API 默认字符集改为 UTF-8。 |
| JEP 408 | 正式 | 工具/平台 | Simple Web Server | jdk.httpserver 提供命令行简单静态 Web 服务器。 |
| JEP 413 | 正式 | 库/API | Code Snippets in Java API Documentation | Javadoc 支持更好的代码片段。 |
| JEP 416 | 正式 | 库/API | Reimplement Core Reflection with Method Handles | 用 Method Handles 重实现核心反射,降低维护成本。 |
| JEP 417 | 第三次孵化 | Panama/向量/原生 | Vector API (Third Incubator) | Vector API 第三次孵化。 |
| JEP 418 | 正式 | 库/API | Internet-Address Resolution SPI | 互联网地址解析 SPI。 |
| JEP 419 | 第二次孵化 | Panama/向量/原生 | Foreign Function & Memory API (Second Incubator) | FFM API 第二次孵化。 |
| JEP 420 | 第二次预览 | 语言 | Pattern Matching for switch (Second Preview) | switch 模式匹配第二次预览。 |
| JEP 421 | 废弃 | 库/API | Deprecate Finalization for Removal | 废弃 Finalization,准备移除。 |
References
- JDK 18 Project链接openjdk.org/projects/jdk/18Released: 2022-03-22 · JDK 18 Project · UTF-8 成为默认字符集,简单 Web 服务器和 Javadoc 代码片段加入,Finalization 开始废弃。 · 默认 UTF-8 可能改变依赖系统默认编码的旧程序行为。笔记:Java 18
- Java 18 Release Notes
关联信息
反向链接、本文链接的其他页面和外部资料。
反向链接
- Java 版本笔记 · Java 18
自 Java 9 · 每 6 个月一个版本 · 每 2 年一个 LTS - 每 4 个版本 · Java 11 - Java 17 隔了 3 年, 之后为每隔两年 · Java JEP 与版本变化 · 参考 · Java version history
- Java JEP 与版本变化笔记 · 18
资料来源以 OpenJDK JDK Project 页面和 JEP 页面为主。Java 5–7 主要按 JSR/项目整理;JDK 8 起按代表性 JEP 整理;JDK 10 起列出该版本项目页 Features 中的全部 JEP。 · | 状态 | 含义 | 使用建议 |
参考资料
其他外链11 条
- openjdk.org/projects/jdk/18openjdk.org/projects/jdk/18
- jdk.java.net/18/release-notesjdk.java.net/18/release-notes
- openjdk.org/jeps/400openjdk.org/jeps/400
- openjdk.org/jeps/408openjdk.org/jeps/408
- openjdk.org/jeps/413openjdk.org/jeps/413
- openjdk.org/jeps/416openjdk.org/jeps/416
- openjdk.org/jeps/417openjdk.org/jeps/417
- openjdk.org/jeps/418openjdk.org/jeps/418
- openjdk.org/jeps/419openjdk.org/jeps/419
- openjdk.org/jeps/420openjdk.org/jeps/420
- openjdk.org/jeps/421openjdk.org/jeps/421