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版本,降低使用维护成本,腾讯大数据JVM团队在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月,腾讯大数据JVM团队开源了Tencent Kona JDK8,为微服务、云原生应用、大数据等实际应用场景提供最优的Java生产环境及解决方案,并为开发者开发的Java应用提供平滑的迁移。目前,Kona为腾讯大数据、腾讯云微服务平台TSF、EMR、大数据套件TBDS、智能钛机器学习平台Ti-One、消息中间件、专有云TCE等大规模产品提供了稳定保障。
通过工业标准Benchmark表明,Kona JDK11对比Kona JDK8大多数场景在峰值性能上具有非常明显的提升,个别性能提升接近50%。目前,Kona JDK11通用版本目前已经在腾讯内部和云上规模使用,用户只需要少量迁移工作,即可实现其在Kona JDK11版本的编译和运行。
对于广大的Java使用者来说,是时候认真考虑从8升级到Kona 11等新LTS版本了。据了解,相当一部分Java用户,在升级JDK 11、采用前沿特性上面临不小的难度,腾讯JVM团队将对外开源生产级别ZGC等能力,将大数据、广告、游戏、金融、云安全网关等多个场景的生产实践,分享给广泛Java开发者,助力用户解决升级JDK的顾虑。
持续贡献,坚持良性回馈开源
从2019年12月正式参与OpenJDK社区贡献开始,腾讯大数据JVM团队一直秉承着贡献于Java的长期成功的原则,致力于解决Java语言和JVM的短板,参与推动Java生态演进。
公开数据显示,短短不到一年,腾讯大数据JVM团队已向OpenJDK社区贡献了70+ commits,分享了腾讯大数据等团队在大数据、机器学习、云计算等生产负载技术方面的部分沉淀,其中针对Vector API向量计算、Loom 协程、ZGC 等方面的改进,是业界少有的生产级别前沿实践。
值得一提的是,去年9月,Oracle正式发布JDK 15,同时公布了OpenJDK 全球贡献者榜单,腾讯成为全球企业贡献第五名,是国内为 OpenJDK 贡献最多的公司,并且是历史首次有国内厂商进入“Notable”贡献者范围,得到了社区官方点名感谢。
未来,腾讯大数据JVM团队将持续参与OpenJDK等开源社区协作,贡献更多前沿改进,提高用户和开发者的使用体验。
Github 开源地址:https://github.com/Tencent/TencentKona-11