换了台新笔记本,重新安装JDK环境,JDK8已经这么长时间了,我打算安装两个JDK,那除了必须的JDK8,另一个版本如何选择呢,查了好多资料,我选择了JDK17。
之所以选择JDK17,主要有以下方面原因,先给出一张图,参考自@吮指原味张:https://blog.csdn.net/mahoon411/article/details/124857836
首先我们了解一下JDK版本的含义,Oracle把JDK分成了两种维护情况,即短期支持版本和长期支持版本,对于短期支持版本(non-LTS)而言,Oracle只会提供6个月的支持维护;而对于长期支持版本(LTS),则提供8年的支持维护。所以根据这一规划,Oracle每隔6个月,就会发布一个大版本,每个季度则发布一个中间特性版本。另外Oracle还承诺,新的JDK发布周期会严格遵循时间点,将于每年的3月份和9月份发布,中间不会跳票。
现在正常情况下,每隔6个月就会有一个短期维护版本(non-LTS)发布出来,比如JDK 9、10、12、13、14、15、16;然后每隔3年,就会发布一款得到8年长期支持维护的JDK版本,比如JDK 8、11、17。参考自@千锋Java学习站:https://www.zhihu.com/question/512743150/answer/2978081190
另外还有一个原因,那就是springboot 3要强迫使用Java17了,所以我当然选择长期支持的最新版本JDK17。
我们先看一下我安装完JDK8和JDK17两个版本后的情况,这里对比没有安装前主要有以下三方面变动,也是我们安装和卸载过程中涉及的三个重要步骤。
首先我们查看安装路径下新增的目录结构。
以上分别是JDK1.8安装目录、JDK17安装目录、以及JRE1.8的目录。
这是JDK1.8的目录结构:
bin
:提供 JDK 工具程序,包括 javac、java、javadoc、appletviewer 等可执行程序。include
:存放用于本地访问的文件。jre
:存放 Java 运行环境文件。lib
:存放 Java 的类库文件,工具程序实际上使用的是 Java 类库。JDK 中的工具程序,大多也由 Java 编写而成。src.zip
:Java 提供的 API 类的源代码压缩文件。如果需要查看 API 的某些功能是如何实现的,可以査看这个文件中的源代码内容这是JRE1.8的目录结构,与JDK1.8目录下jre目录中目录结构基本一致,以上是对比。
这是JDK17的目录结构,与JDK1.8目录结构有所差异,删除了jre目录,添加了jmods目录。
(这里有个小注意点,就是如果将path中新增路径%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin放到最前边,就会导致编辑系统变量时无法展开)
这里解释一下这些环境变量及其值的含义:
JAVA8_HOME:D:\myDevelopKit\myJava\jdk_1.8.0_361
JDK1.8的安装目录
JAVA17_HOME:D:\myDevelopKit\myJava\jdk_17
JDK17的安装目录
JAVA_HOME:%JAVA17_HOME%(切换JDK版本为1.8时改为%JAVA8_HOME%)
中间变量用于修改JDK版本
path:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
为了在系统的任意位置都能运行JAVA程序,JAVA程序在bin目录下
win+R输入regedit打开注册表
这是安装JDK1.8与JDK17后注册表新增的JavaSoft目录
进入windows应用管理,卸载java相关应用
卸载完后,JDK1.8目录与JDK17目录全都自动删除了,注册表中的JavaSoft目录也自动删除了。我们需要把JRE1.8目录手动删除,同时我们也要手动删除新增的系统变量。
进入oracle官网登陆自己的oracle账号并进入下边链接
Java Archive | Oracle 中国https://www.oracle.com/cn/java/technologies/downloads/archive/
下载好自己操作系统对应的JDK,我下载了JDK8和JDK17的安装程序
上边是我下载好的JDK安装程序 ,先执行JDK8的安装程序,出现下边弹框,下一步即可
这里我建议安装到改成自己新建的目录,接着下一步
这里我还是建议安装到刚刚新建的jdk1.8同级目录下,刚刚安装的是jdk1.8,现在安装的是jre1.8,其实jdk1.8中是包含jre1.8的,这里我也不清楚为什么还要安装jre1.8,接着下一步
这里已经完成了JDK1.8的安装。我们查看注册表
这里注册表中又自动生成了JavaSoft目录(之前我们应用卸载时自动删除了)
然后我们要手动添加系统变量
1.新建JAVA8_HOME变量
2.新建JAVA_HOME变量值为%JAVA8_HOME%
3.path变量中新增%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
下边使用java -version测试安装成功与否
下边我们新建Demo.java文件来测试java编译运行效果
我们通过javac命令生成.class文件,然后通过java命令运行该程序,在命令行中输出了结果。(这里注意必须要到.claa文件的路径下执行java命令,不能执行java [.class文件的全路径名]。)
到这里我们已经完成JDK8的安装与测试,下边我们安装JDK17
这里已经完成了JDK17的安装。我们查看注册表
这里注册表的JavaSoft目录中又自动生成了JDK目录
然后我们要手动添加系统变量
1.新建JAVA17_HOME变量
2.编辑JAVA_HOME变量值为%JAVA17_HOME%
下边使用java -version测试安装成功与否