Java安装JDK8、JDK17多版本同时配置过程记录Win10
jdk、sdk和jre的区别
在实际的应用里,我一直没太弄明白jdk、sdk和jre的概念,趁着这次重新配置Java环境,复习了一下相关概念,参考了这两篇博文:
个人理解:
-
JDK是SDK(广义软件开发工具包)的其中一种,是Java SDK(Java开发工具包)的简称,提供了Java的开发环境;
-
JRE(Java运行环境)包含在JDK安装包里,如果只安装JRE,那么就只能运行Java程序而不能进行开发(因为没有编译器和调试器);
-
JVM虚拟机是JRE的一部分,负责把Java程序翻译为字节码。
安装了JDK后,文件夹里会出现两套JRE,一套在Java\jrex目录里,一套在Java\jdk1.x.x_xx\bin 目录里,bin目录里的jre是用来给开发工具本身运行提供环境的。
JDK版本选择
JDK8(=Java8=JDK1.8),这个版本较为成熟稳定,是JDK的一个重要长期支持版本(LTS),在生产环境中使用非常广泛;
JDK11,增加了大量实用的新特性,包括新的 ZGC、云计算监控诊断、Http Client、支持Unicode 10.0.0等,一共包含 17 个 JDK 增强提案;
JDK17,最新长期支持版本, 具有switch 新增模式,增加 Realed class 密封类,Parallel GC 默认启用已经浮点运算更加严格;
JDK18,短期版本,增加了服务提供者接口,默认字符集为UTF-8;
这里选择JDK8和JDK17两个版本同时安装。
安装JDK
Oracle JDK使用最广泛,版本最全面:
如果需要其他厂商的版本也可以去这里找:
双击下载好的MSI或EXE文件,next
自行选择安装目录,我直接默认,next
安装完成,close
继续安装JDK8,下一步
继续默认路径,下一步
有需要可以改,不改下一步
关闭
安装好啦
下面开始配置环境变量,win+R输入sysdm.cpl,回车->高级
为两个jdk指定安装目录变量,用数字区分
再建一个JAVA_HOME的变量,指定要使用的jdk版本,我先指定为JDK8,如果要切换版本,更改这个变量值就好
配置Path环境变量
新建两条变量,注意将%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
分开添加
配置CLASSPATH环境变量
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
配置完成,连按确定关闭对话框。
打开cmd命令行,输入java -version
嗯?似乎不是我指定的那个版本,去隔壁抄抄答案:win10 同时安装jdk17和jdk8
可是我这个路径下面没有javapath……?
让我用everything找找
哟,有两个,删哪个比较好呢……全删了吧
再看看
干得漂亮宝贝!
换个变量验证一下
No way :)
再抄抄隔壁答案:5、同台机器安装2个版本JDK
注册表是吧,走你丫的
再把这俩倒霉孩子删了
再把这俩上移到最前面
、
欧了
PS. 每次验证java版本的时候记得重启命令行,不然就会像我一样不断怀疑人生
致谢这位同志:win10 64位系统中安装多个jdk版本的切换问题