Tencent Kona JDK11 来了!腾讯宣布正式开源
点击关注下方公众号,Java面试资料 都在这里
3月8日,腾讯宣布正式开源 Tencent Kona JDK11。
概述
3月8日,腾讯宣布将 Tencent Kona JDK11 正式开源,向社区分享经过内部超大规模生产环境验证的定制 JDK,该版本在启动性能、峰值性能以及事物处理能力方面,相对于前一版本 Kona JDK8 都有了综合性提升,沉淀了腾讯云与大数据团队在大数据/机器学习、云原生场景下的深度优化,并且通过了 JCK 验证,确保充分的 Java SE 标准兼容。
除了在开源社区开放使用外,Tencent Kona JDK11 也会在腾讯云上免费提供,为云上用户的 Java 应用注入高效动能。另一方面,通过自身产品采用 Kona JDK,腾讯云也能够为用户带来更好的云服务能力。
作为 Java 生态的基础引擎,JDK 包括了 Java 运行环境、Java 工具,以及 Java 核心类库。目前,基于 OpenJDK 开源项目(Java SE 最主流的参考实现之一),国际厂商研发了多种 JDK 发行版,腾讯 Kona JDK 便是其中颇具特色的发行版之一。
高效可靠 开箱即用的 JDK11 开源版本
为了给用户更好的 JDK11 版本,降低使用维护成本,腾讯云与大数据团队在 Kona JDK11 中,坚持了一贯的兼容性、可靠性、安全、性能优化等核心要素,同时,重点对 ZGC 等核心特性进行了生产级别改进,做到了开箱即用,其中包括:
向量计算(Vector API)。针对大数据、机器学习场景的“算力”优化需求,让 JVM 应用可以充分利用 SIMD 能力,移植并改进了社区前沿版本中的 Vector API 技术,解决了 avx512 向量可靠性等生产障碍,研发了向量移位寄存器分配等深度优化,并且已经 upstream 大量相关优化到 OpenJDK 主分枝。 开箱即用的 ZGC。作为 Java 生态翘首以待的“无暂停” GC 算法之一,ZGC 有望提供大部分情况下毫秒级停顿水平,极大提高 Java 在线服务场景生产力,但由于可靠性和功能的不足,某种程度上减慢了 JDK 11 采纳速度。Kona JDK 补齐了社区 JDK 11 的能力短板,让 Java 开发者不必纠结于选择 LTS 还是非 LTS 版本,降低升级负担。 超大堆和内存成本优化策略。面对从轻量级微服务,到多个超 TB 级大堆的严苛生产环境要求,Kona JDK 11 沉淀了相关 GC、SVC 工具等生产级别优化。
2019年11月,腾讯云与大数据团队开源了 Tencent Kona JDK8,为微服务、云原生应用、大数据等实际应用场景提供最优的 Java 生产环境及解决方案,并为开发者开发的 Java 应用提供平滑的迁移。目前,Kona 为腾讯云微服务平台 TSF、腾讯大数据、消息队列 TDMQ、消息队列CKafka、智能钛机器学习平台 Ti-One、大数据套件 TBDS、专有云 TCE 等大规模产品提供了稳定保障。
通过工业标准 Benchmark 表明,Kona JDK11 对比 Kona JDK8 大多数场景在峰值性能上具有非常明显的提升,个别性能提升接近 50%。目前,Kona JDK11 通用版本目前已经在腾讯内部和云上规模使用,用户只需要少量迁移工作,即可实现其在 Kona JDK11 版本的编译和运行。
对于广大的 Java 使用者来说,是时候认真考虑从8升级到Kona 11 等新 LTS 版本了。据了解,相当一部分 Java 用户,在升级 JDK 11、采用前沿特性上面临不小的难度,腾讯云与大数据团队将对外开源生产级别 ZGC 等能力,将大数据、广告、游戏、金融、云安全网关等多个场景的生产实践,分享给广泛 Java 开发者,助力用户解决升级 JDK 的顾虑。
持续贡献,坚持良性回馈开源
从2019年12月正式参与 OpenJDK 社区贡献开始,腾讯云与大数据团队一直秉承着贡献于 Java 的长期成功的原则,致力于解决 Java 语言和 JVM 的短板,参与推动 Java 生态演进。
公开数据显示,短短不到一年,腾讯 JDK 团队已向 OpenJDK 社区贡献了 70+ commits,分享了腾讯微服务等团队在云计算、微服务、大数据等生产负载技术方面的部分沉淀,其中针对 Vector API 向量计算、Loom 协程、ZGC 等方面的改进,是业界少有的生产级别前沿实践。
Github 开源地址:
https://github.com/Tencent/TencentKona-11