一、各版本安装特性对比表(只作为了解,与安装无关)
| 系统要求 | Windows 7+ | Windows 10+ | Windows 10+ | Windows 10+ | Windows 10/11 |
| 架构支持 | 32位/64位 | 主要64位 | 主要64位 | 主要64位 | 主要64位 |
JDK 8 安装特点
安装界面示例:
传统安装向导,步骤较多:
1. 欢迎界面
2. 自定义安装路径
3. 选择安装组件(JDK、公共JRE、源代码)
4. 安装进度
5. 完成界面
环境变量配置:
# 需要手动设置
JAVA_HOME=C:\\Program Files\\Java\\jdk1.8.0_291
PATH=%JAVA_HOME%\\bin;…
特点:
- 支持 Windows 7/8/10
- 32位和64位版本都提供
JDK 11 安装变化
主要变化:
- 安装程序更现代化
- 可选择自动设置环境变量
- 默认使用新的版本命名格式
安装选项:
# 安装时可选择"设置JAVA_HOME变量"
# 安装后验证:
java -version
openjdk version "11.0.xx" 202x-xx-xx
JDK 17 (LTS) 安装特点
改进:
- 安装过程更简洁
- 更好的 Windows 集成
- 支持 Windows 终端
- 安装后可立即使用
验证安装:
# PowerShell 中测试
PS C:\\> java –version
java 17.0.x 202x-xx-xx LTS
# 检查JAVA_HOME
PS C:\\> $env:JAVA_HOME
C:\\Program Files\\Java\\jdk-17.0.x
JDK 21 (LTS) 安装特点
新特性:
- 虚拟线程(Project Loom)
- 分代 ZGC
- 记录模式
- 安装体验进一步优化
安装验证:
# 检查新特性支持
java –version
java 21.0.x 202x-xx-xx LTS
# 测试虚拟线程(如果应用使用)
java -cp app.jar Main
JDK 25 安装特点
最新特性:
- 最新的语言特性
- 性能优化
- 可能包含预览功能
二、安装建议
开发环境推荐:
生产环境推荐:
三、教程以安装java8为例
官方下载链接:https://www.oracle.com/java/technologies/downloads/archive/
因官方下载需要注册oracle账号,故附下载链接:
百度网盘:
链接: https://pan.baidu.com/s/1Eln29E1ARFVOnM-sdxq2gg?pwd=heku
提取码: heku
夸克网盘:
链接:https://pan.quark.cn/s/1248a4493784?pwd=13nF
提取码:13nF
分享内容(按需下载):



四、 安装
如果是安装zip安装包方式,只需要解压后,设置环境变量即可,当前第四步可以省略。
1.双击安装程序(.exe),点击 下一步 。

2.选择安装路径,这里要注意:不要有中文路径

可以选择“更改”选择其他盘符,推荐直接用默认目录

3.点击“下一步”等待JDK 安装成功。1.8版本 JDK 安装完成后,安装向导会自动弹出公共 JRE 安装界面。此时可以选择 JRE 的安装目录(推荐保持默认)
可以选择“更改”安装到其他盘符,推荐直接用默认目录

4.点击 下一步 等待安装

5.至此 JDK 已经安装完毕,点击 关闭

五、 配置环境
1.点击 我的电脑 → 右键 → 选择 属性 ,点击 高级系统设置;
或者 控制面板 → 系统和安全 → 系统 也可以找到 高级系统设置;
或者快捷键 Win + S ,在输入框中输入 env,会出现 编辑系统环境变量 点击即可。

2.点击“环境变量”后,跳出如下图所示对话框,在下方的“系统变量”点击 “新建”

随后跳出 “新建系统变量” 对话框,一般来说系统变量中是没有 “JAVA_HOME” 的,在弹出的 新建系统变量 对话框中的 变量名 填入 JAVA_HOME,变量值填入 :C:\\Program Files\\Java\\jdk-1.8.0(安装 Java 时 JDK 所在的文件夹, 默认安装都是在 C 盘的)

3.双击打开 Path,点击新建按钮,添加变量值:%JAVA_HOME%\\bin ,点击 确定。
注意:如果你使用的是旧版 Windows 且看到的是文本串,则在末尾添加 ;%JAVA_HOME%\\bin


注意!!!如果安装完有环境变量 C:\\ProgramData\\Oracle\\Java\\javapath,那么新加的java环境变量要在它的上面

4.(可选,一般不用设置) 新建变量名 CLASSPATH,变量值:.;%JAVA_HOME%\\lib\\dt.jar;%JAVA_HOME%\\lib\\tools.jar(注意前面的 .;也要放进去,此变量名主要适用于 JDK8),点击 确定。(java8以上可以不设置此项)

核心作用:告诉 Java 虚拟机(JVM)和 Java 编译器(javac)去哪里查找用户自定义的类或包(也就是你写的或引用的 .class 文件)
什么时候必须设置CLASSPATH?
— 当你直接用 java 或 javac 命令运行/编译代码,并且没有使用 -cp 或 -classpath 参数指定类路径时。
— 当你要在你的代码里,通过 javax.tools.JavaCompiler 来动态编译其他 Java 文件时
— 当你需要使用一些古董级的 IDE 或构建工具(比如很老版本的 Eclipse, Ant)时。
5.(可选,一般不用设置) jre安装目录\\bin 添加到 PATH(java8以上不用设置jre)

核心作用:让系统可以直接执行 %JAVA_HOME%\\jre\\bin 目录下的可执行文件(主要是 java.exe,也许还有 javaw.exe 等)。
什么时候需要设置它?—— 几乎从不
实际上,%JAVA_HOME%\\bin 目录已经包含了 %JAVA_HOME%\\jre\\bin 里的全部工具。 你只要把 %JAVA_HOME%\\bin 加到 PATH 里,java.exe 就能被找到了。
一个非常过时的场景:在古代,有些软件或脚本编写不完善,它们硬编码去查找 jre\\bin\\java.exe 而不是通过标准 PATH 顺序来找 java 命令。这时候加上它可能会兼容这些老古董。
6.点击三次 确定 返回



六、 验证
每次验证java版本的时候需要重新打开一个新的命令提示符窗口
1.点击 Win+R,输入 cmd 进入命令提示符界面,输入 java -version,出现如下界面:

2.点击 Win+R,输入 cmd 进入命令提示符界面,输入 javac,假如出现如下界面则配置成功。

七、多 JDK 环境
1.分别创建两个环境变量
在环境变量中新建 JAVA17_HOME 和 JAVA8_HOME 等,变量值为 JDK 版本对应的路径

2. 统一使用 JAVA_HOME 并配置 PATH
更改 JAVA_HOME ,需要 17 版本的时候就将变量值改为 %JAVA17_HOME%,要 1.8 版本的时候就将变量值改为 %JAVA8_HOME%。
注意:【PATH 里自带的带 Oracle 的环境变量要下移至 JDK 下方,不然 JDK 版本切换会无效,会默认成你后面安装的那个版本】,也就是上面步骤里的C:\\ProgramData\\Oracle\\Java\\javapath

3.验证当前版本
检验是否成功,在 CMD 中输入:java -version(注:需要保存 “高级系统设置”后重新打开 CMD)
4.如果切换后版本未生效(常见问题:缓存导致)
即使修改了 JAVA_HOME,CMD 中 java -version 可能仍然显示旧版本。这是因为 Windows 对常用的 Java 命令做了路径缓存。请按顺序清理:
4.1 进入 C:\\Windows\\System32,删除与 Java 相关的可执行文件,例如:
- java.exe
- javaw.exe
- javac.exe
如果没有这些文件,跳过此步。
4.2 删除两个 javapath 目录下的快捷方式
- C:\\Program Files (x86)\\Common Files\\Oracle\\Java\\javapath
- C:\\ProgramData\\Oracle\\Java\\javapath
删除这两个文件夹内的所有 .exe 快捷图标或 Java 相关程序。
如果没有找到对应文件夹或为空,请忽略。
4.3 清理注册表中的 CurrentVersion 值(高风险请慎用)
从注册表(运行regedit)中删除jdk的默认启动的版本。
- HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit
- HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Runtime Environment
在右侧找到 CurrentVersion 项,清空它的值(或者删除整个项,但清空更安全)。
操作注册表有风险,建议提前备份。
以下为注册表清理示例:
在HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft的Java Development Kit的CurrentVersion项的值和Java Runtime Environment的CurrentVersion项的值。把值删除

如果还是无法切换,尝试以下:
删除以下两个值

把以下两个值移到最上边。点击所有确认后再次验证





