JDK 15 新特性详解
发布日期 :2020 年 9 月 15 日
规范版本 :Java SE 15(JSR 390)
是否 LTS :否
主题:文本块与 sealed 类(预览)、隐藏类、移除 Nashorn、ZGC/Shenandoah 转正
一、版本总览
JDK 15 共集成 14 个 JEP。它是一个「清理与巩固」的版本:
- 文本块正式转正(JEP 378)
- Sealed Classes 首次预览(JEP 360)------为模式匹配的穷尽性提供基础
- Hidden Classes(JEP 371)------框架与动态代理的重要基础设施
- 移除 Nashorn (JEP 372)、移除 Solaris/SPARC(JEP 381)
- ZGC(JEP 377)/ Shenandoah(JEP 379)转正
- EdDSA 签名算法(JEP 339)
二、语言特性
1. JEP 378:文本块(正式)
经过 JDK 13(JEP 355)、JDK 14(JEP 368)两次预览,文本块在 JDK 15 正式转正。
java
String json = """
{
"name": "Alice",
"age": 30,
"hobbies": ["reading", "coding"]
}
""";
String sql = """
SELECT u.id, u.name, COUNT(o.id) AS order_count
FROM users u
LEFT JOIN orders o ON o.user_id = u.id
WHERE u.created_at > ?
GROUP BY u.id, u.name
HAVING COUNT(o.id) > 0
ORDER BY order_count DESC
LIMIT 10
""";
String html = """
<html>
<body>
<p>Hello, %s!</p>
</body>
</html>