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>
相关推荐
道尔柯南7 分钟前
C++ string 类详解:从常用接口到深拷贝,彻底掌握字符串处理
android·java·c++
来让爷抱一个1 小时前
Python 异步里混用同步库,事件循环被卡住的全过程
开发语言·python
kingx31 小时前
Bugku 3122 谷歌小恐龙题解:纯离线逆向 Vault 的 AES-GCM 加密资源(附 Python 解密器)
java·逆向·ctf·bugku·aes-gcm
DevOpenClub3 小时前
职教高考控制线 API:招生类别枚举、筛选与空分数含义
java·数据库·高考
心祭丫丫4 小时前
【每天一个 Python 小案例17】Python 实现通讯录
开发语言·人工智能·笔记·python·学习
露天赏雪4 小时前
第3篇:Sentinel熔断降级实战:大模型接口抖动时的服务兜底方案
java·开发语言·人工智能·spring boot·spring·servlet·sentinel
天天被压力4 小时前
【A股分钟级高频数据完全手册 #06】北交所分钟级数据接口:京市股票Pro版最新分时
java·人工智能·python
天天被压力5 小时前
【A股分钟级高频数据完全手册 #05】指数历史分钟数据接口:Pro版沪深指数分时回放
java·人工智能·python
captain3765 小时前
▲统一功能——DispatcherServlet源码分析
java·spring·java-ee·log4j·maven
金銀銅鐵5 小时前
JDK 21 中 List.of 的实现细节:从 List12 到 ListN
java·后端·ai编程