科普文:【支持信创、宣传国产】通过JCK认证的国产JDK梳理

概叙

科普文:【支持信创、宣传国产】Tencent Kona JDK11 正式开源_信创jdk版本-CSDN博客

科普文:【支持信创、宣传国产】ARM上最好用的JDK之毕昇JDK_华为毕昇jdk-CSDN博客

科普文:【支持信创、宣传国产】阿里jdk龙井Dragonwell_龙井jdk-CSDN博客

科普文:微服务之容器化【8种JDK性能测试:K8s上应该用哪种JDK?】_eclipse temurin kona bell-CSDN博客

Springboot应用的信创适配-CSDN博客

Springboot应用的信创适配-补充_springboot信创替代方案-CSDN博客

 信创适配评测_信创测试报告-CSDN博客

前面有整理过三款国产jdk:考拉、龙井、毕昇,这里再来梳理一下和甲骨文版jdk的兼容性。

什么是JCK认证?

Java(TM) Compatibility Kit (JCK)

一个测试包,一组工具,和其它的一些需求,用来检查一个实现是否和Java平台规范和软件参考实现兼容。

JCK (或TCK for Java SE)用于验证一个Java的运行和开发环境是否符合JavaSE标准。

另一方面,JCK包含海量的测试用例,通过了JCK也代表了质量保证,其他组织可以放心地使用通过了JCK测试的Java虚拟机。

关于 JCK(Java Compatibility Kit)认证,它是 Oracle 官方提供的一种兼容性测试套件,用于验证 JDK 实现是否符合 Java SE 官方规范的兼容性要求。通过 JCK 认证意味着该 JDK 版本在功能、API 行为和兼容性方面与 Oracle JDK 保持一致,这对于确保代码的可移植性和兼容性是非常重要的。

JCK认证流程与要求 

JCK认证需通过协议签署、测试执行、报告提交三阶段,并需持续维护兼容性。厂商需结合硬件特性优化JDK实现,同时承担法律与成本风险‌。

一、JCK认证核心流程

  1. 签署协议与获取授权

    • 需与Oracle签署‌OCA(Oracle Contributor Agreement)协议‌,明确知识产权归属与认证责任‌。
    • 法律协议约束‌:签署Oracle的OCA协议,明确知识产权归属及合规责任,可能涉及隐性成本‌。
    • 向Oracle申请获取‌JCK测试套件‌(Java Compatibility Kit),该套件包含验证Java SE标准兼容性的测试用例‌。
  2. 运行测试与问题修复

    • 测试范围‌:覆盖JVM核心功能(如GC、字节码执行)、API兼容性(如java.langjava.util)及安全特性(如JCE、TLS)‌。
    • 测试工具‌:使用JCK提供的自动化测试框架,执行数万条测试用例,记录未通过项(如API行为差异、JVM规范冲突)‌。
    • 问题修复‌:针对测试失败项,调整JDK实现(如修复内存管理逻辑、优化字节码解释器),确保与Java SE规范一致‌。
  3. 提交报告与审核

    • 将完整的测试结果(包括通过率、修复记录)提交至Oracle审核,审核周期通常为‌2-4周‌‌。
    • 通过审核后,获得Oracle颁发的‌Java SE兼容性认证证书‌,允许产品标注“Java Compatible”标识‌。

二、认证后的维护要求

  1. 持续兼容性保障

    • 每个新版本发布前需重新运行JCK测试,确保功能迭代未引入兼容性问题(如新增API未破坏现有规范)‌。
    • 针对Java SE安全更新(如CVE补丁),需同步集成并验证‌。
  2. 文档与社区支持

    • 公开‌TCK(Technology Compatibility Kit)测试报告‌,供开发者验证环境兼容性‌6。
    • 参与OpenJDK社区贡献,提交补丁以保持与上游代码的同步(如修复龙芯架构下的JIT编译器问题)‌。

、认证的费用开销

要做JCK认证的,都需要给甲骨文交钱。JCK认证费用由厂商承担,用户无需直接支付。具体认证成本涉及测试授权、技术验证及法律流程,属于厂商内部商业范畴‌。

1. ‌认证费用组成

JCK认证费用通常包括以下部分:

  • 测试套件授权费‌:需向Oracle获取JCK测试套件的使用权,具体费用需通过商业谈判确定‌。
  • 技术合规性验证费‌:包括测试执行、问题修复及审核流程产生的成本‌。

2. ‌费用估算范围

  • 厂商级费用‌:根据行业惯例,针对企业级JDK发行版的JCK认证费用可能在‌数十万至数百万人民币‌区间,具体取决于Oracle的授权协议条款及测试规模‌。
  • 长期维护成本‌:通过认证后,需持续支付版本更新和安全补丁的兼容性验证费用‌。
  • 厂商承担费用‌:如国产的龙芯中科作为JDK发行方,已公开声明其JDK版本(如8、11、17)通过JCK认证,相关费用由龙芯中科承担‌。
  • 开源免费策略‌:用户可直接使用龙芯JDK而无需支付认证费用,厂商(龙芯中科)通过技术支持和定制服务实现商业化‌。(用了龙芯JDK,如何需要解决使用过程中的问题,龙芯中科是有偿服务)

JCK认证过的国产JDK

OpenJDK 官方上游项目‌:作为开源参考实现,OpenJDK 本身不会直接申请 JCK 认证。JCK 认证由各厂商基于 OpenJDK 定制的发行版(如龙芯 JDK、腾讯 Kona JDK11)自行完成‌。

基于 OpenJDK 的JCK 认证发行版

部分厂商基于 OpenJDK 开发的 JDK 发行版通过了 JCK 认证,例如:

  • 龙芯 JDK:基于 OpenJDK 构建,支持 LoongArch/MIPS 架构,其 JDK 8、11、17 版本均通过 JCK 认证,符合 Java SE 标准‌。龙芯公司是全球少数几家取得了JCK授权的公司之一。龙芯OpenJDK通过了JCK的测试,意味着用户无需修改Java应用,就可将已有的符合Java SE标准的应用直接迁移至龙芯平台,也可在龙芯平台上开发新的Java应用。

未通过JCK 认证的 OpenJDK 发行版

  • 阿里巴巴 Dragonwell‌:未明确标注通过 JCK 认证‌。
  • 腾讯 Tencent Kona JDK:未明确标注通过 JCK 认证‌。
  • 华为毕昇JDK‌ :未明确标注通过 JCK 认证‌。
  • 其他社区版本‌:部分开源或社区维护的 OpenJDK 发行版可能都未完成JCK认证。

考拉JDK

  • JCK认证:未通过。
  • 说明:考拉JDK基于OpenJDK,但在兼容性方面可能存在一些差异,特别是在某些特定功能和API上。

龙井JDK

  • JCK认证:未通过。
  • 说明:龙井JDK在性能和功能上进行了优化,但在兼容性方面可能与Oracle JDK存在差异。

毕昇JDK

  • JCK认证:未通过。
  • 说明:毕昇JDK在性能和稳定性上表现良好,但在兼容性方面仍需谨慎。

建议- 兼容性测试:在选择国产JDK时,建议进行全面的兼容性测试,确保所有功能正常运行。

  • 性能基准测试:比较不同JDK在实际应用中的表现,选择最适合的版本。
  • 持续监控:在生产环境中,持续监控JVM性能,及时发现和解决问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

01Byte空间

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值