Oracle JDK 和 OpenJDK的区别

简介: Oracle JDK vs OpenJDK

Oracle JDK和OpenJDK是两个Java开发工具包(JDK)的发行版,它们之间有一些关键的区别。这两个发行版都提供了进行Java开发所需的工具和库,但在许可、支持和更新方面存在一些差异。

  1. 1.许可:
  • Oracle JDK:在过去,Oracle JDK是在商业许可下提供的。从JDK 11(2018年9月)开始,Oracle改变了其许可模式。Oracle JDK现在采用订阅模型,用户需要为特定版本(例如JDK 11)之后的商业支持和更新付费。
  • OpenJDK:另一方面,OpenJDK具有开源许可证(GNU通用公共许可证第2版,并带有Classpath例外),允许自由使用、分发和修改源代码。
  1. 2.支持:
  • Oracle JDK:采用订阅模型,Oracle为Oracle JDK提供商业支持和长期更新。这包括修复错误、安全补丁和其他更新,但需要付费订阅。
  • OpenJDK:OpenJDK通常由社区推动,虽然有组织和供应商提供OpenJDK版本的支持,但并不是由Oracle直接提供。支持和更新的程度可能因涉及的组织或供应商而异。
  1. 3.更新:
  • Oracle JDK:Oracle通常为其JDK提供定期更新和长期支持(LTS)版本。但是,对于JDK 11之后的LTS版本,更新和支持可能需要商业订阅。
  • OpenJDK:OpenJDK也会从社区获得定期更新,但具体发行版或供应商可能会因此而异。
  1. 4.TCK(技术兼容性测试套件):
  • Oracle JDK:Oracle JDK经过使用Java技术兼容性测试套件(TCK)的兼容性测试,以确保符合Java规范。
  • OpenJDK:OpenJDK可以从源代码编译,并经过相同的TCK测试以实现兼容性。某些发行版也可能通过了TCK测试,提供了与Java平台兼容的保证。

总之,Oracle JDK过去是商业许可下的JDK,但已转向订阅模型。另一方面,OpenJDK是开源的且免费提供。这两个发行版都可以用于Java开发,但选择可能取决于许可要求、支持需求和对开源软件的偏好。由于其开源特性和社区驱动的开发,许多开发人员和组织已转向使用OpenJDK或其他基于OpenJDK的发行版。

目录
相关文章
|
1月前
|
SQL Oracle 关系型数据库
避坑,Oracle中left join 与 (+) 的区别
避坑,Oracle中left join 与 (+) 的区别
|
3月前
|
Java 编译器 API
【面试问题】JDK 和 JRE 的区别?
【1月更文挑战第27天】【面试问题】JDK 和 JRE 的区别?
|
3月前
|
Oracle 关系型数据库 MySQL
mysql数据库和Oracle的区别
mysql数据库和Oracle的区别
50 1
|
4月前
|
Java 编译器 API
【Java核心】JDK、JRE、 JVM的联系与区别
【Java核心】JDK、JRE、 JVM的联系与区别
117 0
|
5月前
|
SQL Oracle 关系型数据库
MySQL和Oracle的一些区别
MySQL和Oracle的一些区别
|
6月前
|
开发框架 安全 Java
一文搞懂JDK8与Java1.8的区别
一文搞懂JDK8与Java1.8的区别
1307 0
|
7月前
|
IDE Java 编译器
jdk与jre的区别
jdk与jre的区别
39 0
|
3月前
|
Java 编译器 Apache
JDK,JRE,JVM之间的区别和联系
JDK,JRE,JVM之间的区别和联系
67 0
|
1月前
|
存储 安全 Java
JDK、JRE 和 JVM 的区别和联系
JDK、JRE 和 JVM 的区别和联系
23 0
|
3月前
|
Java 数据安全/隐私保护
【面试问题】JDK 动态代理与 CGLIB 区别?
【1月更文挑战第27天】【面试问题】JDK 动态代理与 CGLIB 区别?