大家好,我是R哥。
Java 24 正式发布了:
没错,Java 版本号来到了 24,Java 在发版本这条路上没有回头路了,简直超神了。。。
Java 24 下载地址:
https://www.oracle.com/java/technologies/downloads/
JDK 24 提供了 24 项新功能:
编号 | 特性名称 | 中文解释 | 备注 |
---|---|---|---|
404 | Generational Shenandoah (Experimental) | Shenandoah 分代回收 | 实验性特性 |
450 | Compact Object Headers (Experimental) | 紧凑对象头 | 实验性特性 |
472 | Prepare to Restrict the Use of JNI | 准备限制 JNI 的使用 | |
475 | Late Barrier Expansion for G1 | G1 垃圾回收器的屏障优化 | |
478 | Key Derivation Function API (Preview) | 密钥派生函数 API | 预览特性 |
479 | Remove the Windows 32-bit x86 Port | 移除 Windows 32 位 x86 端口 | |
483 | Ahead-of-Time Class Loading & Linking | AOT 类加载 & 链接 | |
484 | Class-File API | 类文件 API | |
485 | Stream Gatherers | 流收集器增强 | |
486 | Permanently Disable the Security Manager | 永久禁用安全管理器 | |
487 | Scoped Values (Fourth Preview) | 作用域值 | 第四次预览 |
488 | Primitive Types in Patterns, instanceof, and switch (Second Preview) | 模式匹配支持原始类型 | 第二次预览 |
489 | Vector API (Ninth Incubator) | 向量 API | 第九次孵化 |
490 | ZGC: Remove the Non-Generational Mode | ZGC 删除非分代模式 | |
491 | Synchronize Virtual Threads without Pinning | 无需固定即可同步虚拟线程 | |
492 | Flexible Constructor Bodies (Third Preview) | 灵活的构造函数体 | 第三次预览 |
493 | Linking Run-Time Images without JMODs | 无需 JMOD 即可链接运行时镜像 | |
494 | Module Import Declarations (Second Preview) | 模块导入声明 | 第二次预览 |
495 | Simple Source Files and Instance Main Methods (Fourth Preview) | 简化源文件和实例入口方法 | 第四次预览 |
496 | Quantum-Resistant Module-Lattice-Based Key Encapsulation Mechanism | 基于抗量子模块格的密钥封装机制 | |
497 | Quantum-Resistant Module-Lattice-Based Digital Signature Algorithm | 基于模块格的抗量子数字签名算法 | |
498 | Warn upon Use of Memory-Access Methods in sun.misc.Unsafe | 在 sun.misc.Unsafe 中使用内存访问方法时发出警告 | |
499 | Structured Concurrency (Fourth Preview) | 结构化并发 | 第四次预览 |
501 | Deprecate the 32-bit x86 Port for Removal | 弃用 32 位 x86 端口 |
其中包括 2 个实验性特性、7 个预览特性、1 个孵化特性,不管是性能优化、语法增强、安全升级,还是工具链改进,都带来了显著的提升。
完整特性说明可以参考:https://openjdk.org/projects/jdk/24/
这里说明下,Java 24 并不是一个长期支持的版本,上一个长期支持的版本是 Java 21,而下一个长期支持的版本是 Java 25,如图所示:
Java 版本分为 LTS(Long-Term Support,长期支持版) 和 Non-LTS(非长期支持版),它们的主要区别如下:
对比项 | LTS 版本(长期支持) | Non-LTS 版本(非长期支持) |
---|---|---|
发布周期 | 每 2 年 一次 | 每 6 个月 发布一次 |
支持时长 | 官方长期支持(8 年+) | 仅支持 6 个月 |
适用场景 | 生产环境、企业级项目、长期维护的系统 | 个人学习、实验性项目、尝鲜新特性 |
稳定性 | 更稳定,企业级可用 | 新特性多,但可能不稳定 |
安全性 | 持续提供安全更新和 bug 修复 | 仅在生命周期内提供短期修复 |
新特性 | 主要以稳定性和性能优化为主 | 包含最新特性,但可能在下个版本修改或移除 |
所以,如果是企业生产项目,Java 24 并不建议大家升级。
可能大部分人还在用 Java 8 吧?
大家都说,你发,任你发,我用 Java 8!
看了下 newrelic 发布的最新的 Java 版本统计报告,到了 2024 年,Java 17 才是主流了。
对于新项目来说,Java 17 是主流无可厚非,因为像 Spring、Spring Boot 等这样的神仙框架都已经把最低依赖升级到了 Java 17,Java 8 已经不再支持了。
所以,Java 17 是最低具备的技能了,都到了 2025 年了,如果一个程序员的知识还停留在 Java 8,那大概率说明他长时间没有学习了。
最后,推荐下我的《Java 新特性实战课》,课程非常全面,几乎覆盖了 JDK 9 ~ 17 所有核心知识点,市面上几乎没有,已全部完结,可随时报名学习全部内容。
Java 新特性课程主要以 理论 + 实战 为主,并包含必要的 原理及源码分析,提供项目完整源代码,包含以上所有知识点实战,大家可以根据课程和项目参考练习,学习起来倍轻松。
版权声明: 本文系公众号 "Java技术栈" 原创,转载、引用本文内容请注明出处,抄袭、洗稿一律投诉侵权,后果自负,并保留追究其法律责任的权利。
更多文章推荐:
觉得不错,别忘了随手点赞+转发哦!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。