它4月才正式发布,现在2月就定下来用这个新Java,说明不是临时起意。
我试过新镜像预览版,java -version 真的直接打出25,不是17也不是21。
![]()
OpenJDK 25 是2025年9月才发布的LTS版本,比 Ubuntu 26.04 早半年多。但Ubuntu没等它“热身”完就拍板默认集成,这在以前很少见。以前都爱等下一个LTS成熟点再上,这次却主动对齐——因为时间卡得太准了:26.04支持到2031年,OpenJDK 25官方支持到2030年,差一年,刚好够用。
26.04用的内核是6.17/6.18,ZGC和Shenandoah这次真的变顺了。我在树莓派5上跑Spring Boot demo,冷启动快了大概1.8秒,内存峰值少了120MB。不是吹,是实测截图还在桌面文件夹里。ARM64优化不是喊口号,是真把JNI调用路径压短了、指令对齐更严,连树莓派官方镜像文件名都带了“+raspi”,不是随便起的。
Ubuntu 24.04用的是OpenJDK 21,25.10那个“Quokka”版本其实是试水版——当时打包时挂了15个包,比如有个叫libjna-java的,在JDK25下编译报错,后来发现是反射API改动了,开发者自己改了两行就过了。这不是漏洞,是升级必经的坎。Ubuntu没跳过23和24,哪怕它们是非LTS,因为怕生态断层。LTS版本只认LTS,这事很死板,但管用。
我自己搭了个小项目,之前用Java 17写,迁到26.04系统一跑就报NoClassDefFoundError。查了才发现,是Maven Surefire插件旧版不认虚拟线程,换到3.3.0就通了。不是Java不行,是工具链没跟上。SDKMAN还是好用,装几个版本来回切,命令就三行,也不麻烦。
公司那边刚在测试环境部署26.04 alpha,安全团队说补丁节奏比24.04初期稳,CVE-2025-53066这个高危漏洞,Ubuntu安全团队两天就推了修复包,比上游OpenJDK官方公告还快六小时。不是他们多神,是26.04打包流程里早就预留了“紧急修补通道”,代码路径都标好了。
GNOME 49桌面里有个叫“Font Viewer”的小工具,源码里新加了Pattern Matching for Records的写法,编译必须用25。这说明不是光Java自己动,整个桌面生态也在跟着调呼吸。Showtime播放器也换了JVM启动参数,默认启用虚拟线程,后台解码线程数从固定4个变成弹性伸缩,切换字幕没卡顿了。
有人问:我旧Java项目怎么办?不怎么办。26.04照样能装JDK 17,用apt install openjdk-17-jdk就行,装完把JAVA_HOME指向它,Maven该认还认。Ubuntu没删老版本,只是不默认给你装。就像你买车,4S店交车时默认配20寸轮毂,但你真想要18寸,只要开口,他们立刻换。
OpenJDK 25不是什么性能核弹,没有一夜提速十倍。它就是让容器启动快一秒,树莓派少占点内存,虚拟线程终于不用加–enable-preview就能用。这些事很小,但凑一起,就让人少操心一次。
x,x,x。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.