Hacker News 中文摘要

RSS订阅

Java 27 发布 -- Java 27 Released

Java开发工具包(JDK)27作为Java 27的参考实现现已正式发布(General Availability)。我们于8月20日发布了build 35作为JDK 27的第二个候选版本(Release Candidate),此后未收到P1级缺陷报告。因此build 35现为GA版本,可用于生产环境。甲骨文(Oracle)提供的GPL许可开放JDK(OpenJDK)构建已可获取,其他供应商的构建也将很快推出。本版本包含九项JEP,例如将G1设为默认垃圾收集器等。

正文

JDK 27 作为 Java 27 的参考实现,现已正式发布。我们于 8 月 20 日发布了第二个候选版本 build 35,此后未报告任何 P1 级 bug,因此 build 35 现为 GA 版本,可用于生产环境。Oracle 提供的 GPL 许可 OpenJDK 构建可在此下载:https://jdk.java.net/27 ,其他厂商的构建预计不久后也会推出。

本版本包含九个 JEP(详见 https://openjdk.org/projects/jdk/27/):

  • 523:在所有环境中将 G1 设为默认垃圾收集器
  • 527:TLS 1.3 的后量子混合密钥交换
  • 531:惰性常量(第三次预览)
  • 532:模式、instanceof 和 switch 中的基本类型(第五次预览)
  • 533:结构化并发(第七次预览)
  • 534:默认启用紧凑对象头
  • 536:JFR 进程内数据脱敏
  • 537:向量 API(第十二次孵化)
  • 538:加密对象的 PEM 编码(第三次预览)

本版本还如往常一样包含数百项小改进和数千个 bug 修复。感谢所有贡献者,无论是以设计实现功能、修复 bug 还是测试早期访问版本的方式。

评论

讨论整体带着一种“又来了”的疲惫感,主轴在于 Java 的发布节奏究竟是优势还是拖累:多数声音对核心能力长期停留在预览与孵化状态表示不耐烦,少数视角则承认高频迭代本身有其价值;关于 Valhalla 与空值安全的期待,则普遍交织着自嘲式的漫长等待。

认为核心 API 迟迟不 GA 已经消耗掉社区耐心

  • Vector API 用了很多年,至今仍在等正式版,而它恰恰是神经信息检索(RAG、记忆)这类场景的刚需(较多人)。有人借“第十二次孵化”的措辞发问:这颗蛋到底还能不能孵出来。 > 都第十二次孵化了,这蛋真的还活着吗?(@rf15)

认为 Oracle 节奏更快但公告透出疲态

  • 来自 C# 开发者的对比视角:Oracle 的发版节奏大约是微软的两倍,而且 Java 很少有功能在一个正式版本里连做两轮预览;这也可能是因为 Java 社区体量更大、平台包办的东西更少、更多留给社区(较多人)。同时这次公告的语感更像开源项目“我们做完了,我们累了”,而非微软式的大张旗鼓。 > 读起来像是开源项目的“我们完工了,也累垮了”,而不是微软那种热闹的发布。(@moomin)

对 Valhalla 和空值安全抱以近乎自嘲的期待

  • Valhalla 要到 Java 28(明年)才进入预览,于是有人把空值类型安全列进“有生之年”清单(较多人)。

仍在追问 2026 年新项目该不该选 Java

  • 有开发者把问题直接抛回社区:严肃地问,2026 年什么样的绿地项目才该用 Java(少数人)。

有价值的补充

  • Vector API 的实际用途是神经信息检索(RAG、记忆),核心依赖内容向量化和点积相似度匹配。
  • CultRepo 在 YouTube 上的纪录片《The Java Story》值得一看,其中一大议题正是被这里反复调侃的发版节奏。
  • 社区情绪的一个注脚:敲门——谁啊——长久的沉默——Java。(@taspeotis)