news 2026/10/15 15:33:57

有点意思!Java8后最有用新特性排行榜!

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
有点意思!Java8后最有用新特性排行榜!

相信这两天看了 JDK 25 新特性的同学已经彻底对 Oracle 失望了,这那是挤牙膏啊?是连牙膏都懒得挤了。

所以,大家都在评论区喊话,如果你(Oracle)实在不想发可以不发,但不要糊弄大家。

那么,今天呢。我也把从 JDK 8 之后的长期支持版:JDK11、JDK17、JDK21、JDK25 的新特性都捋了一遍,并且对于这些新特性做一个受欢迎的新特性排行榜,希望得到各位大佬的指正和补充,欢迎评论区留言。

HOT1:Record

诞生于 JDK 14,正式发布于 JDK 17。

Record(记录)是一种特殊的类,用于建模纯数据载体。

java

体验AI代码助手

代码解读

复制代码

public record Person(String name, int age) { } Person p = new Person("Alice", 30); System.out.println(p.name()); // 输出: Alice System.out.println(p.age()); // 输出: 30

Record 类型自动提供了构造方法、访问器(getter)、equals()、hashCode()、toString() 方法以及一个解析器(parser),无需定义 Class,且把 Lombok 的事情也做了。

使用场景

前后端使用 JSON 交互时,可能需要传递各种属性,这个时候很难定义统一的 VO 对象,有了 Record 之后,可以非常方便的接收前端发送的 JSON 参数。

HOT2:虚拟线程

轻量级线程(Project Loom),极大提升并发性能。JDK 21 最有用的特性,没有之一。

虚拟线程的创建方式,主要有以下 4 种:

  1. Thread.startVirtualThread(Runnable task) -> 创建并启动虚拟线程。
  2. Thread.ofVirtual().unstarted(Runnable task) -> 只创建不启动虚拟线程。
  3. Thread.ofVirtual().factory() -> 只创建虚拟线程工厂。
  4. Executors.newVirtualThreadPerTaskExecutor() -> 使用线程池的方式创建虚拟线程。

最常见的使用方式:

java

体验AI代码助手

代码解读

复制代码

// 创建并启动虚拟线程 Thread.startVirtualThread(() -> { System.out.println("Do virtual thread."); });

虽然,我一直都在用线程池或动态线程池,并没有真正的使用到虚拟线程,但就感觉这个技术设计的很好,以后可能会用到。

HOT3:switch

到了 HOT 3,个人就觉得比较有争议了,但从实用性上来讲还是选择了这个比较常用的功能 switch。

switch 这个技术比较奇怪,几乎每个版本中都有对于 switch 的升级,JDK 17 中 switch 支持了箭头表达式,JDK 21 新特性正式转正,到了 JDK 25 还有预览版特性的扩充,真的很神奇。

目前 switch 我们可以这样用了:

java

体验AI代码助手

代码解读

复制代码

// JDK 17 (正式特性) public class SwitchJDK17 { public static void main(String[] args) { String day = "MONDAY"; // 1. 使用箭头语法 -> 直接返回值,无需 break String typeOfDay = switch (day) { case "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY" -> "工作日"; case "SATURDAY", "SUNDAY" -> "周末"; default -> "未知"; }; System.out.println("typeOfDay: " + typeOfDay); // 2. 如果需要执行多行代码,使用 yield 返回值 int num = 2; String result = switch (num) { case 1 -> "一"; case 2 -> { System.out.println("这是数字 2"); yield "二"; // 在代码块中使用 yield 返回结果 } case 3 -> "三"; default -> "其他"; }; System.out.println("result: " + result); } }

小结

新特性到了 HOT3 之后就更不知道怎么排了,**第一,确实有用的新特性太少;第二,新特性确实太少。当然,最重要的是第二点。**各位大佬是什么想法?欢迎评论区留言讨论。

本文已收录到我的面试小站 www.javacn.site,其中包含的内容有:场景题、SpringAI、SpringAIAlibaba、并发编程、MySQL、Redis、Spring、Spring MVC、Spring Boot、Spring Cloud、MyBatis、JVM、设计模式、消息队列、Dify、Coze、AI常见面试题等。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/15 11:31:24

中国辅助驾驶“新竞赛”打响,高智价比AI芯片如何定义新标杆?

中国辅助驾驶的落地竞速已经从单纯的性能比拼,进入“法规与体验双轮驱动”的全新阶段。一方面,包括中国在内的全球多个国家和地区已对车辆搭载AEB系统提出强制性要求,直接推动了组合辅助驾驶进入市场主导的“爆发期”。根据《高工智能汽车研究…

作者头像 李华
网站建设 2026/10/15 14:07:14

渔人的直感:FF14终极智能钓鱼计时器完全指南

渔人的直感:FF14终极智能钓鱼计时器完全指南 【免费下载链接】Fishers-Intuition 渔人的直感,最终幻想14钓鱼计时器 项目地址: https://gitcode.com/gh_mirrors/fi/Fishers-Intuition 还在为错过幻海流最佳时机而烦恼吗?是否经常因为分…

作者头像 李华
网站建设 2026/10/15 8:12:40

如何在30天内完成Agent有效性验证?生物药研发加速的秘密武器

第一章:生物制药Agent有效性验证的挑战与机遇在生物制药领域,智能Agent正逐步应用于药物发现、靶点识别和临床试验模拟等关键环节。然而,这些Agent的有效性验证面临诸多挑战,同时也孕育着重大技术突破的机遇。数据异质性与标准化难…

作者头像 李华
网站建设 2026/10/14 20:35:02

为什么顶尖金融机构都在重构Agent审计日志?背后隐藏的4大合规趋势

第一章:金融合规 Agent 的审计日志在金融行业,系统操作的可追溯性是合规性的核心要求之一。审计日志作为记录系统行为的关键组件,为监管审查、异常检测和责任追溯提供了数据基础。金融合规 Agent 通过自动化手段收集、分析并归档关键操作事件…

作者头像 李华
网站建设 2026/10/13 13:47:58

58、Linux与Ubuntu:深入解析与使用指南

Linux与Ubuntu:深入解析与使用指南 1. mkinitrd工具介绍 mkinitrd工具会查看 /etc/fstab 、 /etc/modprobe.conf 和 /etc/raidtab 文件,以获取在启动过程中确定需要加载哪些模块所需的信息。在我们的系统中,使用以下命令: # mkinitrd initrd-2.6.7-1.img 2.6.7-1…

作者头像 李华
网站建设 2026/10/15 2:07:11

60、Ubuntu安装规划与硬件要求全解析

Ubuntu安装规划与硬件要求全解析 1. 选择Ubuntu的优势与安装关键因素 Ubuntu作为一种计算解决方案有诸多优势,由于其丰富的软件资源,它能在不同层级和硬件平台上扮演多种角色。为确保安装成功,需关注以下关键因素: - 准备工作 :充分讨论迁移或部署事宜,明确其带来的…

作者头像 李华