记一次OpenJDK替换java JDK

因为公司要求线上都使用open jdk, 所以最近我们把本地的java jdk都替换成了open jdk。中间遇到了一点小问题,记录一下。

我记得我之前收到过Oracle的更新消息,还以为自己当时已经替换成open jdk了,一看环境发现使用的还是java的jdk,哈哈。
在这里插入图片描述
二者的区别:
简单来说,OpenJDK是开源的,Java JDK是官方的,也就是Oracle JDK

linux下open jdk的安装教程: http://openjdk.java.net/install/
windows下下载open jdk的安装包: http://jdk.java.net/

由于我本地使用的java jdk8,所以选择了安装open jdk8
http://jdk.java.net/java-se-ri/8-MR3,不过官网上open jdk8只能找到32位的,open jdk9及以上倒是都可以找到64位的
在这里插入图片描述
所以最后我就在本地安装了32位的open jdk8 (需要64位的可能只能自己下载源码去编译了)

下载后解压并配置环境变量JAVA_HOME,并在path里加入如下配置:(open jdk可以不用配置classpath)
在这里插入图片描述
在这里插入图片描述

但是再次执行java -version看到的还是java jdk, 而不是open jdk.

查看了下配置发现path里有一个Oracle jdk路径C:\Program Files (x86)\Common Files\Oracle\Java\javapath
猜测是不是由于它导致我设置的open jdk配置不被优先使用,删掉后再试下就可以了

在这里插入图片描述
从上面的java环境可以看到虚拟机包括两种:Server VM 和 Client VM

Client VM(-client),为在客户端环境中减少启动时间而设计优化;
Server VM(-server),为在服务器环境中最大化程序执行速度而设计。

我这里是在本地使用,所以使用Client VM也没问题

如果你想要更改成Server VM, 也可以去jvm的配置文件修改。

64位操作系统:jvm的配置文件在{JRE_HOME}/lib/amd64/jvm.cfg
32位操作系统:jvm的配置文件在{JRE_HOME}/lib/i386/jvm.cfg

看jvm.cfg配置文件里第一行是什么,如果是-client则使用的Client VM, 如果是-server 则使用的是Server VM,换下位置就可以了

在这里插入图片描述

在这里插入图片描述
只要把-client 删除了,就不会提示上述warning了
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_35448165/article/details/109392723