《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 github.com/Tencent/TencentKona-11 「Tencent」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注**微信公众号:【芋道源码】**有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言将得到认真回复。甚至不知道如何读源码也可以请教噢
  4. 新的源码解析文章实时收到通知。每周更新一篇左右
  5. 认真的源码交流微信群。

大家好,我是基基。

今天,基基,跟大家分享一下,腾讯2021年开源的 JDK11,腾讯大数据JVM团队在Kona JDK11开源项目中,坚持了一贯的兼容性、可靠性、安全、性能优化等核心要素,同时,重点对ZGC等核心特性进行了生产级别改进,做到了开箱即用。

2021年3月8日,腾讯宣布将Tencent KonaJDK11正式开源,向社区分享经过内部超大规模生产环境验证的定制JDK,该版本在启动性能、峰值性能以及事物处理能力方面,相对于前一版本Kona JDK8都有了综合性提升,沉淀了腾讯大数据团队在大数据/机器学习、云原生场景下的深度优化,并且通过了JCK验证,确保充分的Java SE标准兼容。

除了在开源社区开放使用外,TencentKona 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团队开源了TencentKona 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,分享了腾讯大数据等团队在大数据、机器学习、云计算等生产负载技术方面的部分沉淀,其中针对VectorAPI向量计算、Loom 协程、ZGC 等方面的改进,是业界少有的生产级别前沿实践。值得一提的是,去年9月,Oracle正式发布JDK 15,同时公布了OpenJDK 全球贡献者榜单,腾讯成为全球企业贡献第五名,是国内为 OpenJDK 贡献最多的公司,并且是历史首次有国内厂商进入“Notable”贡献者范围,得到了社区官方点名感谢。

未来,腾讯大数据JVM团队将持续参与OpenJDK等开源社区协作,贡献更多前沿改进,提高用户和开发者的使用体验。

开源地址

https://github.com/Tencent/TencentKona-11

请给项目 一个 Star !欢迎提出你的 issue 和 PR!

文章目录
  1. 1. 高效可靠 开箱即用的JDK11开源版本