Java学习笔记之四 对Java程序设计环境的学习一 JDK的安装
SDK:Software Development Kit。软件开发工具箱。
JDK:Java Development Kit。Java开发工具箱。
Java在版本和命名上存在一定的混乱。在JDK的命名上也是。工具箱版本的1.2-1.4被称为Java SDK。
Java术语:
术语 | 缩写 | 解释 |
---|---|---|
Java Development Kit | JDK | 编写Java程序的程序员使用的软件 |
Java Runtime Environment | JRE | 运行Java程序的用户使用的软件 |
Standard Edition | SE | 用于桌面或简单的服务器应用的Java平台 |
Enterprise Edition | EE | 用于发杂的服务器应用的Java平台 |
Micro Edition | ME | 用于微型手机和其他小型设备的Java平台 |
Java 2 | J2 | Java 2。过时术语。用于描述1998年-2006年之间的Java版本。 |
Software Development Kit | SDK | 过时术语。用于描述1998年-2006年之间的JDK。 |
Update | u | Sun的术语,用于发布修改的bug |
NetBeans | - | Sun的集成开发环境 |
Sun公司早已被Oracle收购。Java语言及Java平台早已成为Oracle的产品。
Oracle发布的Java产品,似乎已经不再区分JDK和JRE,而是都提供JDK。
Java SE似乎被称作Java。
Java EE被重新命名为Jakarta,Oracle已经将其捐赠给第三方。
Java ME似乎已经死亡。如今,Android和iOS已经占据了移动端的开发。
Java 2的术语已经不再使用。
下载JDK
Oracle提供的JDK和JRE,是商业版本。要使用它的JDK和JRE,需要遵守特别的条款。在某些情况下,还需要花钱购买订阅服务,这种订阅服务非常昂贵。
同时,Oracle开源了JDK。这种开源的JDK被称为OpenJDK。Oracle提供了它的源代码,但没有提供将它编译后的资产。
有许多开源组织和商业组织提供了在OpenJDK之上的编译资产。并在OpenJDK出现安全问题时,修复并编译的资产。
有个貌似时韩国人的人提供了一个网站,列出了一些市面上基于OpenJDK编译的JDK工具。

这些组织提供的二进制各有特色。有些分别提供JDK和JRE,还有些只提供JDK。还有一些提供了额外的功能。
Adoptium Eclipse Temurin
Adoptium Eclipse Temurin OpenJDK是一种可供首选的JDK。但它的二进制资产存放于GitHub Releases之上。访问缓慢不畅,难以下载。

Azul Zulu

BellSoft Liberica JDK
https://bell-sw.com/pages/downloads/?
由于Temurin下载不畅,所以我选择使用Azul Zulu和BellSoft Liberica JDK。后两者是商业公司提供的,面临着协议更替等风险。
我对Azul Zulu的观察研究
提供JDK、JRE、JDK FX、JRE FX、JDK CRaC版本。
我对BellSoft Liberica JDK的观察研究
Liberica Java SE Development Kit (JDK) can be used to run, compile and debug applications or create your own Java Runtime with a subset of Java modules. If you need to run a simple Java application and you are looking for smaller footprint, download a Java SE Runtime Environment (JRE).
- Full version of Liberica includes LibericaFX, which is based on OpenJFX and Minimal VM, where suitable.
- Standard version is best suited for server and desktop deployments that do not require any additional components.
- Lite version of Liberica works best for cloud deployments and is optimized for size.
- Liberica JDK with CRaC is the build of Liberica JDK that supports the CRaC API. It allows making and utilizing the snapshots of app. This flavor is not TCK verified.
JDK用于运行、编译和调试应用程序或者用一部分Java模块来创建自己的Java运行时。如果需要运行一个简单的Java应用程序,或者想要节省资源,应该使用JRE。
- 完全版本。含LibericaFX。LibericaFX基于OpenJFX。
- 标准版本。适合无需额外组件的服务器和桌面开发。
- 轻量版本。适用于云环境,优化了体积。
- 带CRaC的JDK。支持CRaC API。允许制作应用程序的快照。这种版本未经TCK认证。
我对JDK的下载
选择发行版有三:Adoptium Eclipse Temurin、Azul Zulu、BellSoft Liberica。
下载的时候,Adoptium Eclipse Temurin、Azul Zulu都会跳转到一个感谢下载的页面。想要下载其他版本需要回退,操作不便。
BellSoft Liberica的下载,不会跳转到感谢下载页面,体验很好。
下载速度,除了Adoptium Eclipse Temurin时常不稳定之外,其他两者速度还可以。
下载后的文件命名,Temurin的命名是OpenJDK21U-jdk_x64_windows_hotspot_21.0.7_6.msi
这种。这种命名非常容易和OpenJDK混淆。
而zulu和bellsoft的就好得多。
我选择下载的是Windows版本,msi版本,Java 21和Java24,带FX的版本或完全版。
具体来说:
zulu24.30.13-ca-fx-jdk24.0.1-win_x64.msi
zulu21.42.19-ca-fx-jdk21.0.7-win_x64.msi
bellsoft-jdk24.0.2+12-windows-amd64-full.msi
bellsoft-jdk21.0.8+12-windows-amd64-full.msi
我将在我学习Java的整个过程中使用这些JDK。
我对JDK的安装
我直接运行msi安装。
Temurin可以选择为当前用户安装还是为所有用户安装。
而zulu和bellsoft默认安装在Program Files文件夹下。尽管可以选择不同的文件夹,但似乎是为所有用户安装的。
安装结果,我主要使用zulu24、zulu21、bellsoft24、bellsoft21。这4种JDK安装目录为:
- C:\Program Files\BellSoft\LibericaJDK-21-Full
- C:\Program Files\BellSoft\LibericaJDK-24-Full
- C:\Program Files\Zulu\zulu-21
- C:\Program Files\Zulu\zulu-24
由于安装了多个JDK,如何在不同的JDK之间便捷切换,尚不可知。也许可以编写个脚本,来快速切换到对应的版本下。
验证对JDK的安装。
LibericaJDK-21
set JAVA_HOME=C:\Program Files\BellSoft\LibericaJDK-21-Full
set PATH=%JAVA_HOME%\bin;%PATH%
java -version
LibericalJDK-24
set JAVA_HOME=C:\Program Files\BellSoft\LibericaJDK-24-Full
set PATH=%JAVA_HOME%\bin;%PATH%
java -version
Zulu-21
set JAVA_HOME=C:\Program Files\Zulu\zulu-21
set PATH=%JAVA_HOME%\bin;%PATH%
java -version
Zulu-24
set JAVA_HOME=C:\Program Files\Zulu\zulu-24
set PATH=%JAVA_HOME%\bin;%PATH%
java -version
输出结果如下:
一:
C:\Users\app25>java -version
openjdk version "21.0.8" 2025-07-15 LTS
OpenJDK Runtime Environment (build 21.0.8+12-LTS)
OpenJDK 64-Bit Server VM (build 21.0.8+12-LTS, mixed mode, sharing)
二:
C:\Users\app25>java -version
openjdk version "24.0.2" 2025-07-15
OpenJDK Runtime Environment (build 24.0.2+12)
OpenJDK 64-Bit Server VM (build 24.0.2+12, mixed mode, sharing)
三:
C:\Users\app25>java -version
openjdk version "21.0.7" 2025-04-15 LTS
OpenJDK Runtime Environment Zulu21.42+19-CA (build 21.0.7+6-LTS)
OpenJDK 64-Bit Server VM Zulu21.42+19-CA (build 21.0.7+6-LTS, mixed mode, sharing)
四:
C:\Users\app25>java -version
openjdk version "24.0.1" 2025-04-15
OpenJDK Runtime Environment Zulu24.30+13-CA (build 24.0.1+9)
OpenJDK 64-Bit Server VM Zulu24.30+13-CA (build 24.0.1+9, mixed mode, sharing)
在命令提示符下,运行JDK相关程序,就需要设置环境变量JAVA_HOME和PATH。如上所示。
如果使用集成开发环境,则在继承开发环境中选择所需的JAVA安装路径,无需再麻烦地设置环境变量。
上述安装JDK的过程中,只安装了JDK的主要部分。文档和源代码还没有安装。如果需要文档,则需要单独下载。如果需要源代码,也需要单独下载。
我对Core Java图书中附带的源代码的下载
我下载了第七、八、九、十、十一、十二、十三版的代码。