尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
JDK 28:不鸣则已,一鸣惊人
2026年8月JDK 28的JEP列表逐渐清晰。没有虚拟线程那种刷屏级发布但几个改动——值对象预览、Shenandoah分代模式默认开启、严格字段初始化——每一个都直指JVM深处。升级前不看清楚生产环境可能莫名其妙就炸了。一、先厘清一个时间线用户提到的“8月6日Initial RC9月15日GA”——这是JDK 27的时间线不是JDK 28。JDK 28是2027年3月发布的非LTS特性版本目前仍在积极开发中Early-Access builds已开放下载。那么问题来了JDK 27还没正式GA为什么现在就要关注JDK 28因为JDK 28的JEP列表已经基本清晰几个重量级特性正在向目标冲刺。现在不看清楚等明年3月升级时再踩坑就晚了。二、JEP 401值对象——Java十年最大的语言变动这是JDK 28最重磅的特性没有之一。值对象Value Objects是不可变、无对象标识identity的对象。它们的相等性由字段值决定而非内存地址java// 传统对象两个不同的实例不相等即使字段值一样 Point p1 new Point(1, 2); Point p2 new Point(1, 2); p1 p2; // false —— 因为 identity 不同 // 值对象字段值一样就相等 value class Point(int x, int y) { } Point p1 new Point(1, 2); Point p2 new Point(1, 2); p1 p2; // true —— 按值比较值对象的意义远不止语法糖JVM可以用更紧凑的内存布局表示值对象减少内存占用和GC压力不可变性天然适合并发场景不用再写防御性拷贝为Valhalla项目的终极目标——值类型Value Types——铺平道路代价值对象是预览语言特性生产环境需要加--enable-preview。而且这是Java语言层面近十年最大的变动之一——OpenJDK为此贡献了近20万行代码。第三方库、框架、字节码工具都可能被影响。⚠️升级前必做检查代码中是否依赖对象标识如比较、synchronized锁、System.identityHashCode()。值对象在这些场景下的行为与传统对象完全不同。三、JEP 535Shenandoah GC——分代模式默认开启继JDK 27将G1设为全局默认GC后【JEP 523】JDK 28对Shenandoah GC下了同样的决心默认启用分代Generational模式非分代模式被标记为弃用未来版本将移除。分代模式的好处年轻代和老年代分开管理多数对象死在年轻代GC开销大幅降低吞吐量和延迟的平衡更优特别是在大堆内存场景代价非分代模式下的调优参数将失效如-XX:ShenandoahGCMode相关参数如果你之前手动禁用了分代模式-XX:-UseShenandoahGCGenerational升级后这个参数不再起作用⚠️升级前必做检查JVM启动参数中是否有Shenandoah相关的非分代模式调优。如果有重新评估并移除否则可能被静默忽略。四、JEP 539严格字段初始化——JVM层的安全保障这是一个JVM预览特性针对的是语言设计者和编译器开发者普通应用开发者短期内不会直接接触。核心逻辑字段必须被显式初始化之后才能读取永远不会观察到0、null、false等默认值。java// 传统JVM行为未初始化的final字段可能被观察到默认值 // 严格初始化后编译器会阻止这种情况意义为基于JVM的其他编程语言如Kotlin、Scala提供更强的初始化完整性保证减少因字段未初始化导致的难以排查的空指针异常代价字节码生成工具、AOP框架、ORM框架可能需要适配新的初始化语义预览特性默认不启用⚠️升级前必做如果你使用CGLIB、ByteBuddy、ASM等字节码操作库在JDK 28上跑一遍回归测试。五、JEP 540简单JSON API——终于不用引第三方库了Java开发者等了二十多年的东西——标准库自带的JSON API以孵化器Incubator模块形式引入。这意味着未来可能不再需要引入Jackson、Gson、JSON-B等第三方库来处理基础JSONAPI设计会参考现有主流实现降低学习成本孵化器模块意味着API可能会变化生产环境慎用⚠️升级前必做可以在测试环境试用但生产环境暂时不建议依赖孵化器API——未来版本可能调整。六、JEP 541弃用macOS/x64移植版Apple已经停止支持x64架构全面转向Apple Silicon。JDK 28正式弃用macOS/x64移植版未来版本将移除。影响如果你还在Intel Mac上开发JDK 28仍可用但后续版本可能不再支持CI/CD流水线中如果使用macOS x64 runner需要提前规划迁移⚠️升级前必做检查开发和CI环境中的macOS x64依赖提前规划迁移到Apple Silicon或Linux。七、其他值得关注的变动JEP 542PEM编码支持——标准API处理PEM格式的密钥和证书未来可能不再依赖BouncyCastleParallelRefProcBalancingEnabled标志移除——该标志在JDK 26被弃用、JDK 27被标记为过时JDK 28正式移除ListFormat单引号转义修复——java.text.ListFormat不再受MessageFormat单引号转义语义影响Class文件版本升级到v71.0——代表Java SE 28jlink新增证书裁剪插件八、升级清单该干嘛现在2026年8月关注JEP 401值对象——代码中是否依赖对象标识是否有大量使用比较对象的逻辑检查Shenandoah GC调优参数——是否有-XX:-UseShenandoahGCGenerational移除或重新评估评估字节码工具兼容性——CGLIB、ByteBuddy、ASM在JDK 28 EA上的表现规划macOS x64迁移——如果还在用Intel Mac开发或CIJDK 28 RC发布后预计2027年初在测试环境部署JDK 28跑一遍核心应用的回归测试重点测试使用比较对象的代码值对象语义变化检查GC日志和监控确认Shenandoah分代模式的行为是否符合预期扫描代码中是否有依赖未初始化字段默认值的黑魔法生产环境JDK 28是非LTS版本Oracle只提供6个月支持。核心生产系统建议等待下一个LTS版本预计JDK 29或后续版本。JDK 28适合测试环境踩坑和为LTS版本做准备不适合直接上生产。九、总结JDK 28没有虚拟线程那种“刷屏级”发布但值对象预览是Java语言近十年最大的变动之一Shenandoah分代模式默认开启动的是GC的底层逻辑严格字段初始化动的是JVM的初始化语义。三个改动每一个都可能让依赖特定行为的老代码在生产环境莫名其妙就炸了。升级前不看清楚等明年3月GA之后再踩坑代价就大了。现在就去下载JDK 28 Early-Access在测试环境跑起来。
RELATED

相关推荐

5分钟上手draw.io桌面版:完全免费的跨平台图表工具实战指南

5分钟上手draw.io桌面版:完全免费的跨平台图表工具实战指南

5分钟上手draw.io桌面版:完全免费的跨平台图表工具实战指南 【免费下载链接】drawio-desktop Official electron build of draw.io 项目地址: https://gitcode.com/GitHub_Trending/dr/drawio-desktop 还在为寻找一款既专业又免费的图表软件而烦恼吗&#xf…

📅 2026/9/5 17:42:41
自动售货机RK3588端侧AI推理优化实战:从YOLOv11n部署到多路视频流工程落地

自动售货机RK3588端侧AI推理优化实战:从YOLOv11n部署到多路视频流工程落地

2026年被业界定义为“端侧AI规模化落地的元年”,这一趋势在自动售货机行业尤为显著。传统云端推理方案面临延迟不稳定、带宽成本高、网络依赖性强三大瓶颈,而端侧AI方案正在快速替代这一模式-1。IDC数据显示,全球已有超过40%的AI推理负载从云…

📅 2026/9/5 3:31:14
告别重复CRUD:MyBatis-Plus如何让Java开发者专注业务逻辑

告别重复CRUD:MyBatis-Plus如何让Java开发者专注业务逻辑

告别重复CRUD:MyBatis-Plus如何让Java开发者专注业务逻辑 【免费下载链接】mybatis-plus mybatis 增强工具包,简化 CRUD 操作。 文档 http://baomidou.com 低代码组件库 http://aizuda.com 项目地址: https://gitcode.com/baomidou/mybatis-plus …

📅 2026/9/8 5:24:43
MORE NEWS

更多资讯

📰

智能车竞赛芯片选型指南:从主频、资源到双核与生态的决策链

1. 为什么第十五届的“芯片选型”忽然成了所有人绕不开的话题从第十五届备赛周期开始,智能车竞赛里的一个趋势变得非常明显:你打开官方通知后,第一件事不再是去翻上届学长传下来的代码,而是先去看“主控芯片”那一栏还能不能沿用老…

📰

MCP Kubernetes Server 实战:用 TaoToken 统一 Key 打通集群管理工具链

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

2026 大模型集体涨价:用 Python 做企业 Token 成本测算与选型避坑(附配置)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

全球开源榜第一的国产模型实测:用 TaoToken 统一 Key 跑通 MiniMax M2 Agent 编程链路

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬