哪种JDK才是程序猿/媛心中的最爱呢?
如果你正在学习数据库,比如Oracle,或者中间件,比如TongRDS,建议先了解一下有几种JDK。
“一次编写,到处运行”(Write Once, Run Anywhere,WORA), Java语言因此名闻天下。
虽然在编程语言排行榜上Java不再霸榜,但是Java语言仍是程序员必备技能之一。
(数据来源:https://www.tiobe.com/tiobe-index/)学习Java?
Java 是一种用途广泛、企业需求高、拥有成熟生态系统的编程语言。Java的“一次编写,到处运行”特性,使其在不同平台间具有优越的兼容性和可移植性。由于其强大的性能和安全性,Java在企业级应用中非常受欢迎,同时它也是许多大型企业后端开发的主流选择。Java面向对象的特性,有助于构建可维护和可扩展的软件系统。
Java拥有一个活跃的开发者社区,提供丰富的资源和支持,这对于解决问题和学习新技术非常有帮助。Java也是教育和创新的重要工具,它在云计算、大数据等新兴技术领域发挥着重要作用。
此外,Java与许多其他技术兼容,可以轻松地与各种数据库、中间件和现有系统集成。并且有强大的集成开发环境(IDE)支持,如Eclipse、IntelliJ IDEA 和 VSCode等,进一步提高了Java开发的效率。
几种Java?
先说明几个基础概念:
- Java: 一般指编程语言,有基于类的面向对象、多线程、垃圾回收、基于组件和分布式计算等特性。
- JDK: 是为Java开发者设计的,包含了编译Java代码所需的编译器、调试器、工具和库。它允许开发者编译和运行Java应用程序,以及开发新的Java程序。
- JRE: 是为运行Java应用程序设计的,包含了运行Java程序所需的Java虚拟机(JVM)和核心类库。它不包含编译Java代码所需的工具。
本文主要介绍的面向开发者的 JDK 工具包,下面介绍几种常见的 JDK 。
1. Oracle JDK
由Java的原始开发者Oracle公司提供的官方版本。
Oracle JDK通常用于生产环境,因为它提供了完整的工具集和最佳性能。
目前,Oracle JDK 最新版本为 JDK 22.0.1 [1]
1 | [shawnyan@rl9 ~]$ java -version |
小知识
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认证体系,是全球最受欢迎的程序员认证之一。
(感谢 @青学会会长 提供的证书照片)目前,Java认证主要有三项:
- Oracle Certified Professional, Java SE 8 Programmer
- Oracle Certified Professional: Java SE 11 Developer
- Oracle Certified Professional: Java SE 17 Developer
2. OpenJDK
OpenJDK 是一个开源版本的JDK,由Java社区开发,采用 GPL 协议。
它提供了与Oracle JDK相似的功能,但通常是免费使用的,并且更加开放。
小知识
JDK 22 于2024年3月19日正式发布。
Java 23 平台计划于 2024年9月发布。[2]
1 | [shawnyan@rl9 ~]$ ./java -version |
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]
1 | [shawnyan@rl9 ~]$ ./java -version |
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]
1 | [shawnyan@rl9 ~]$ java -version |
5. TongJDK
去年冬天,东方通发布了 TongJDK 产品。
东方通是中间件领域的龙头企业,具有很大的行业影响力,积极拥抱开源,将有力推动商用中间件产业化落地的能力,并推动开源社区的商业化发展。
东方通TongJDK,扎根基础软件底层,面向海量使用Java程序的客户需求而研发发布,产品内核保持与OpenJDK同步,东方通定期发布其安全和漏洞补丁,为企业用户提供更高安全保障。[5]
安装JDK?
在Oracle数据库中,默认自带了JDK,所以无需另外安装。
在 Oracle 23ai 中,内置 Java JVM 基础架构已经支持 JDK 11 的功能,包括 Java 模块系统。
此功能通过在数据库内设计或重用和执行基于 Java 11 的代码和库来提高生产力。
那么,在基于 Java 的中间件,如何使用 JDK。
常见办法是安装 JDK 包到指定目录,
比如,下载 OpenJDK 安装包,并解压到 /opt 路径下,并将路径添加到环境变量中。
1 | tar zxf openjdk-22.0.1_linux-x64_bin.tar.gz -C /opt |
使环境变量生效后,检查JDK版本。
1 | java -version |
总结
本文简单的介绍了什么是 Java/JDK,以及几种常见的 JDK。
那么,哪种JDK才是程序猿/程序媛心中最常用的呢?
– END –
如果这篇文章为你带来了灵感或启发,就请帮忙点『赞』or『在看』or『转发』吧,感谢!(๑˃̵ᴗ˂̵)
- Title: 哪种JDK才是程序猿/媛心中的最爱呢?
- Author: ShawnYan
- Created at: 2024-05-14 21:00:00
- Updated at: 2024-05-14 21:00:00
- Link: https://shawnyan.cn/2024/java/jdk-intro/
- License: This work is licensed under CC BY-NC-SA 4.0.