JDK 25正式发布了,但是我只想吐槽

作为继 JDK 21 之后的下一个长期支持(LTS)版本,按理说,它应该承载着社区对“稳、重、实”的期待——性能更强、生态更稳、特性更实用。可现实是……我盯着更新日志看了三遍,最后默默关掉了浏览器,骂了一句:XXX的。

昨天,JDK 25 正式发布了。

图片

图片

作为继 JDK 21 之后的下一个长期支持(LTS)版本,按理说,它应该承载着社区对“稳、重、实”的期待——性能更强、生态更稳、特性更实用。可现实是……我盯着更新日志看了三遍,最后默默关掉了浏览器,骂了一句:XXX的。

如果真没东西发,其实……可以不发的。(不知道有些个在吹JDK 25的博主在兴奋个什么劲???)

Java 的“轻量化”,从缩写开始?

大家都知道,Java 一直被诟病“臃肿”、“啰嗦”、“仪式感过重”。于是 Oracle 和 OpenJDK社区这几年一直在喊“简化语法”、“降低门槛”、“拥抱新手”。

可你猜他们怎么“简化”的?

图片

图片

  • public static void main(String[] args) 现在可以写成 void main() 了!
  • 不想写 class?现在可以省略显式类声明了!
  • 嫌 System.out.println 太长?现在可以用 IO.println 了!
  • import 都懒得写?现在自动导入 java.base和import module了!

……我服了。

这不叫“轻量化”,这叫“缩写大赛”。

你把 main 函数从 36 个字符缩到 9 个字符,Java 就变轻了?新手看到 void main() 就突然觉得 Java 亲切了?他们连“类”是什么都还没搞懂,你省略 class 声明是怕他们被吓跑吗?

这就像你给一辆坦克装了个粉色贴纸,然后说:“看,现在它很可爱,适合女生开。”

语法糖不是罪,但拿糖当饭吃,就是逃避现实。

真正有价值的特性?也就两个,还一个没转正

说实话,JDK 25 并非一无是处。

结构化并发(Structured Concurrency) 和 作用域值(Scoped Values) 这两个特性,确实是奔着解决现代并发编程痛点去的。

图片

图片

尤其是 Scoped Values —— 它是为了替代 ThreadLocal 而生的,解决内存泄漏、性能开销、虚拟线程兼容性差等老问题。在虚拟线程(Virtual Threads)成为主流的今天,这个特性可以说是“刚需”。

复制

class Framework {
    private static final ScopedValue<FrameworkContext> CONTEXT
                        = ScopedValue.newInstance();    // (1)
    void serve(Request request, Response response) {
        var context = createContext(request);
        where(CONTEXT, context)                         // (2)
                   .run(() -> Application.handle(request, response));
    }


    public PersistedObject readKey(String key) {
        var context = CONTEXT.get();                    // (3)
        var db = getDBConnection(context);
        db.readKey(key);
    }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.

可惜,结构化并发目前还是预览版,你得加 --enable-preview 才能用。而作用域值虽然正式了,但孤掌难鸣——没有结构化并发的配合,它的威力大打折扣。

一个 LTS 版本,核心亮点居然是“孤木难支”的作用域值?这就像你去吃满汉全席,结果主菜是一盘凉拌黄瓜。

JVM 层面?隔靴搔痒罢了

JVM 这次也不是完全没动:

  • JFR(Java Flight Recorder)做了一些性能优化;
  • AOT(Ahead-of-Time Compilation)支持更完善了一点;
  • Shenandoah GC 终于支持分代了!

……等等,Shenandoah 支持分代了?

对,你没看错。

就在我们刚背完八股文:“ZGC 和 Shenandoah 是不分代的 GC”之后,官方突然说:“哎,我们改主意了,分代真香。”

这不是技术演进,这是对面试者的“精准打击”。

你花三个月准备面试,背了 GC 原理、分代优劣、ZGC 特性,结果新版本一发布,你背的东西过时了。这不是进步,这是“版本陷阱”。

而且,Shenandoah 的分代支持目前还很初级,性能表现远不如 G1 成熟。这种“半成品上桌”的行为,实在让人怀疑:是为了赶 LTS 时间表,还是真觉得“有总比没有好”?

LTS 的意义,不该是“凑数”

LTS(Long-Term Support)版本,本应是企业级应用的“定海神针”。它意味着稳定、可靠、长期维护、值得升级。

可 JDK 25 给我的感觉是——为了 LTS 而 LTS

没有颠覆性的性能提升,没有革命性的语言特性,没有生态级的工具革新。有的只是语法缩写、导入简化、GC 小修小补。

我甚至怀疑,选 JDK 25 当 LTS,是因为“25”是哪个项目经理的幸运数字。

Java到底还有没有未来?

我不是在否定 Java。恰恰相反,我热爱这门语言,但正因为如此,我们才更应该对它的演进保持高标准。

Java 不需要靠“少敲几个字母”来吸引新手。Python、JavaScript、Go、Rust 早就把“简洁”玩明白了。Java 的优势从来不是“短”,而是“稳、强、全”。

我们真正需要的是:

  • 更高效的并发模型(结构化并发请快点转正!)
  • 更智能的 GC(分代不是终点,低延迟才是)
  • 更强大的模式匹配(别再只支持 switch 了)
  • 更彻底的模块化(JPMS 到底什么时候能普及?)
  • 更友好的原生编译支持(GraalVM 何时能成标配?)

Java 正站在一个关键的十字路口。

一边是云原生、虚拟线程、高并发、低延迟的未来;一边是语法糖、缩写、自动导入的“伪优化”。

我们不反对简化,但简化应该是降低认知负担,而不是减少字符数量

我们不反对创新,但创新应该是解决真实痛点,而不是迎合表面需求

JDK 25,作为 LTS,本可以做得更好。

希望下一个 LTS,能让我们真正兴奋起来。而不是……让大家更加坚定继续用Java 8!

AI大模型学习福利

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获取

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。


因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获

四、AI大模型商业化落地方案

因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值