1

我记得很多年前的 JDK 还没有安装版的,下载下来的是压缩包,解压到随便一个目录,然后配置一下环境变量,也就是让电脑可以找到其中的编译器等工具 jar 。这样就可以以命令行形式执行 javac java 等命令来编译和执行 Java 代码了。



不记得什么时候开始,好像是 Oracle 收购 Sun 之后吧,或者是更早的时候,官方开始提供安装版的 JDK,其实也就是自动解压文件和配置环境变量,本质上跟上面说的解压版的没有任何区别。



题主所说的同时安装两个版本的 Java ,如果是解压方式安装,其实两个版本各自在自己的目录下,互不影响。环境变量配置哪个版本的文件目录,使用的就是哪个版本的 JDK。不可能同时两个版本的 JDK 都生效。

安装版的 JDK 的话,如果选择的安装路径一样,后面安装的版本就会覆盖前一个安装,文件覆盖的同时也会覆盖环境变量。如果选择不同的安装路径,那么两个版本的 JDK 就会分别存在与各自的路径下,但是后安装的 JDK 就会被配置到环境变量中。也就是说,后面安装的 JDK 生效。


最佳贡献者
2

不论是windows的系统变量还是Mac的.bash_profile你总归最终只能指向一个路径吧。

3

不冲突,我之前装过oracle jdk 还有openjdk11,idea指定jdk版本就行,不依赖ide单独运行java项目的话,指定java.exe的路径就行

4

不冲突, 写个小脚本切换下就行

5

不冲突,大部分开发环境和生产环境都能独立指定jdk或jre版本。

6

告诉你个技巧:jenv

7

jdk框架并不是和操作系统深度结合的。每个依赖java的应用程序都可以指定jdk路径,自己维护一下就行了,jdk就是个手动挡汽车。

8

不冲突,环境变量的设置就是为了处理这种情况

9

不冲突

10

不冲突,用哪个选哪个就行

你的回答

单击“发布您的答案”,即表示您同意我们的服务条款