JDK 15 新特性详解

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>
相关推荐
荣码1 小时前
LangSmith可观测性:AI应用出bug根本不知道哪里出了问题,我踩了4个坑
java·python
滴滴答答哒1 小时前
C# 技巧:优雅实现对象的“局部更新”与“字段合并”
开发语言·c#
灯澜忆梦1 小时前
【面向对象编程c++】| 指针与自定义数据类型
开发语言·c++·算法
Brilliantwxx1 小时前
【Linux】 自主shell编写巩固复习篇
linux·运维·服务器·开发语言
十年Java程序媛2 小时前
Java 多线程基础与锁机制详解|进程线程、锁升级、synchronized 与 Lock 对比
java·开发语言·spring boot
弯_弯2 小时前
FDE 的工程能力画像:数据接入、PoC 与可复用资产的落地口径
java·服务器·开发语言
雾沉川2 小时前
Visual C++运行库合集 v105.0 安装教程
开发语言·c++·dll
niucloud-admin3 小时前
NIUCLOUD LITE AI开发文档—模块开发:支付管理
开发语言
云和数据.ChenGuang3 小时前
print(f“a+b=“,result) print(f“a+b={result}“)区别
java·前端·人工智能·python·深度学习