盘点几种常见的 JDK

2024年 5月 14日 125.7k 0

如果你正在学习数据库,比如Oracle,或者中间件,比如TongRDS,建议先了解一下有几种JDK。

“一次编写,到处运行”(Write Once, Run Anywhere,WORA), Java语言因此名闻天下。

虽然在编程语言排行榜上Java不再霸榜,但是Java语言仍是程序员必备技能之一。
盘点几种常见的 JDK-1

(数据来源:https://www.tiobe.com/tiobe-index/)

学习Java?

Java 是一种用途广泛、企业需求高、拥有成熟生态系统的编程语言。Java的“一次编写,到处运行”特性,使其在不同平台间具有优越的兼容性和可移植性。由于其强大的性能和安全性,Java在企业级应用中非常受欢迎,同时它也是许多大型企业后端开发的主流选择。Java面向对象的特性,有助于构建可维护和可扩展的软件系统。

Java拥有一个活跃的开发者社区,提供丰富的资源和支持,这对于解决问题和学习新技术非常有帮助。Java也是教育和创新的重要工具,它在云计算、大数据等新兴技术领域发挥着重要作用。

此外,Java与许多其他技术兼容,可以轻松地与各种数据库、中间件和现有系统集成。并且有强大的集成开发环境(IDE)支持,如Eclipse、IntelliJ IDEA 和 VSCode等,进一步提高了Java开发的效率。

几种Java?

先说明几个基础概念:

  1. Java: 一般指编程语言,有基于类的面向对象、多线程、垃圾回收、基于组件和分布式计算等特性。
  2. JDK: 是为Java开发者设计的,包含了编译Java代码所需的编译器、调试器、工具和库。它允许开发者编译和运行Java应用程序,以及开发新的Java程序。
  3. JRE: 是为运行Java应用程序设计的,包含了运行Java程序所需的Java虚拟机(JVM)和核心类库。它不包含编译Java代码所需的工具。

本文主要介绍的面向开发者的 JDK 工具包,下面介绍几种常见的 JDK 。

1. Oracle JDK

由Java的原始开发者Oracle公司提供的官方版本。

Oracle JDK通常用于生产环境,因为它提供了完整的工具集和最佳性能。

目前,Oracle JDK 最新版本为 JDK 22.0.1 [1]

[shawnyan@rl9 ~]$ java -version
java version "22.0.1" 2024-04-16
Java(TM) SE Runtime Environment (build 22.0.1+8-16)
Java HotSpot(TM) 64-Bit Server VM (build 22.0.1+8-16, mixed mode, sharing)

小知识

1996年,Sun Microsystems 发布 Java,于2007年5月8日将JDK源代码捐赠给OpenJDK 。因此JDK是自由软件。

传统 JDK 也称为 Sun JDK 或 Oracle JDK,以区别于 OpenJDK 等其他实现。

SUN 公司成立于1982年。2009年4月20日,甲骨文宣布以74亿美元收购Sun。次年2月,取消Sun子公司,合并进Oracle。

Java界流传的Sun认证,通常是指Sun公司推出的Java认证体系,是全球最受欢迎的程序员认证之一。

//img
(感谢 @青学会会长 提供的证书照片)

目前,Java认证主要有三项:

  • Oracle Certified Professional, Java SE 8 Programmer
  • Oracle Certified Professional: Java SE 11 Developer
  • Oracle Certified Professional: Java SE 17 Developer

盘点几种常见的 JDK-2

2. OpenJDK

OpenJDK 是一个开源版本的JDK,由Java社区开发,采用 GPL 协议。

它提供了与Oracle JDK相似的功能,但通常是免费使用的,并且更加开放。

小知识

JDK 22 于2024年3月19日正式发布。

Java 23 平台计划于 2024年9月发布。[2]

[shawnyan@rl9 ~]$ ./java -version
openjdk version "22.0.1" 2024-04-16
OpenJDK Runtime Environment (build 22.0.1+8-16)
OpenJDK 64-Bit Server VM (build 22.0.1+8-16, mixed mode, sharing)

3. Amazon Corretto

Corretto 是获得 Amazon 长期支持的开放 Java 开发工具包(OpenJDK)。Corretto 使用 Java 技术兼容性套件(TCK)进行了认证,以确保其符合 Java SE 标准,并且在 Linux、Windows 和 macOS 上可用。

Corretto 是 Open JDK 的发行版,其中包含 Amazon 提供的补丁,这些补丁尚未集成到相应的 OpenJDK 更新项目中。Amazon 内部在数千种生产服务上运行 Corretto。

Corretto 最新版本 22.0.1.8.1 基于 OpenJDK 22.0.1+8。[3]

[shawnyan@rl9 ~]$ ./java -version
openjdk version "22.0.1" 2024-04-16
OpenJDK Runtime Environment Corretto-22.0.1.8.1 (build 22.0.1+8-FR)
OpenJDK 64-Bit Server VM Corretto-22.0.1.8.1 (build 22.0.1+8-FR, mixed mode, sharing)

4. Red Hat OpenJDK

红帽构建的 OpenJDK (Open Java Development Kit)是 Java Platform, Standard Edition (Java SE)的一个免费的开源实现。红帽构建的 OpenJDK 有四个版本: 8u、11u、17u 和 21u。

红帽构建的 OpenJDK 软件包在 Red Hat Enterprise Linux 和 Microsoft Windows 上提供,并作为红帽生态系统目录中的 JDK 和 JRE 提供。

值得关注的是:

RHEL 9 依旧支持 OpenJDK 8,具体取决于 OpenJDK 8 生命周期。

RHEL 9 中的系统默认 OpenJDK 是 OpenJDK 11,并从 RHEL 9.3 开始引入 OpenJDK 21。[4]

[shawnyan@rl9 ~]$ java -version
openjdk version "11.0.23" 2024-04-16 LTS
OpenJDK Runtime Environment (Red_Hat-11.0.23.0.9-2) (build 11.0.23+9-LTS)
OpenJDK 64-Bit Server VM (Red_Hat-11.0.23.0.9-2) (build 11.0.23+9-LTS, mixed mode, sharing)

5. BishengJDK

slogan: ARM上最好用的JDK

毕昇JDK是华为内部基于OpenJDK定制的Huawei JDK的开源版本。Huawei JDK运行在华为内部500多个产品上,研发团队积累了丰富的开发经验,解决了业务实际运行中遇到的多个疑难问题。

目前毕昇JDK支持8、11、17三个LTS版本。[5]

[shawnyan@rl9 ~]$ ./java -version
openjdk version "17.0.10" 2024-01-16
OpenJDK Runtime Environment BiSheng (build 17.0.10+11)
OpenJDK 64-Bit Server VM BiSheng (build 17.0.10+11, mixed mode, sharing)

6. TongJDK

在去年冬天的 openEuler 峰会上,东方通发布基于 BishengJDK 的 TongJDK 商用产品。

东方通是中间件领域的龙头企业,具有很大的行业影响力,积极拥抱开源,将有力推动商用中间件产业化落地的能力,并推动开源社区的商业化发展。

东方通TongJDK是基于BishengJDK,扎根基础软件底层,面向海量使用Java程序的客户需求而研发发布,产品内核保持与OpenJDK同步,东方通定期发布其安全和漏洞补丁,为企业用户提供更高安全保障。[6]

安装JDK?

在Oracle数据库中,默认自带了JDK,所以无需另外安装。

在 Oracle 23ai 中,内置 Java JVM 基础架构已经支持 JDK 11 的功能,包括 Java 模块系统。

此功能通过在数据库内设计或重用和执行基于 Java 11 的代码和库来提高生产力。

那么,在基于 Java 的中间件,如何使用 JDK。

常见办法是安装 JDK 包到指定目录,

比如,下载 OpenJDK 安装包,并解压到 /opt 路径下,并将路径添加到环境变量中。

tar zxf openjdk-22.0.1_linux-x64_bin.tar.gz -C /opt
echo 'export JAVA_HOME=/opt/jdk-22.0.1/' >> ~/.bashrc
echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

使环境变量生效后,检查JDK版本。

java -version
openjdk version "22.0.1" 2024-04-16
OpenJDK Runtime Environment (build 22.0.1+8-16)
OpenJDK 64-Bit Server VM (build 22.0.1+8-16, mixed mode, sharing)

总结

本文简单的介绍了什么是 Java/JDK,以及 6 种常见的 JDK。

那么,哪种JDK才是程序猿/程序媛心中最常用的呢?

– END –

盘点几种常见的 JDK-3

如果这篇文章为你带来了灵感或启发,就请帮忙点『赞』or『在看』or『转发』吧,感谢!(๑˃̵ᴗ˂̵)

  1. https://www.oracle.com/java/technologies/java-se-glance.html ↩︎

  2. https://openjdk.org/projects/jdk/23/spec/ ↩︎

  3. https://github.com/corretto/corretto-22 ↩︎

  4. https://access.redhat.com/articles/1299013 ↩︎

  5. https://www.openeuler.org/zh/other/projects/bishengjdk/ ↩︎

  6. https://www.tongtech.com/newsDetail.html?id=102244 ↩︎

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论