配置多个JDK存在的问题与解决方案 (亲测可用)
安装多个JDK时的技巧 (亲测可用)
我的电脑本来是JDK8的,后来的想在不同的JDK版本下测试JDK的垃圾回收器。
一开始的的思路是,先安装JDK,为每个JDK配置自己的家目录,然后在想用哪个版本的时候,将JAVA_HOME指向对应JDK的家目录即可(这里PATH跟CLASSPATH不用变,只变JAVA_HOME 即可在不同JDK间切换),直接上图 (有时候图片来的更直观):

先装的JDK9 (问题发现与解决)
但当时,装完JDK9,改了JAVA_HOME后,cmd命令行下java -version,显示java9,但当时切换不到JDK8,当时一脸懵逼,最后找到原因:
当装完新的JDK后,它会给你在PATH自动配置一个环境变量,如图:

当找到C:\ProgramData\Oracle\Java\javapath所指的目录时发现如下三个文件:

当在cmd下运行这个java.exe时发现:

总结: 这才明白,当装完JDK9时,JDK自己给你配好了环境变量,而且它在PATH环境变量里面属于第一个,因为覆盖了后面自己配的环境,所以才在命令行显示的jdk9。
后装的JDK7 (问题发现与解决)
安装完JDK7之后,又出现异常,不论怎么改自己配置的环境变量,命令行下由java -version一直显示jdk8了(玄学。。。。),根绝排查上一个错的经验,猜想肯定是PATH 下JAVA_HOME前面的某个环境变量在做鬼,因此把JAVA_HOME移动到最顶端时,一切又回到了我们的预期。然后通过将JAVA_HOME放在PATH下不同的位置终于找出了做鬼的环境变量,

然后在它对应的目录下找到了

同样在cmd命令行下测试该java.exe的版本

总结
现在终于明白之前各种情况的原因了,当装完JDK9后把jdk9自己配好的环境变量删掉,然后把C:\Windows\System32移动到JAVA_HOME之后(或者删除该目录下java.exe),因为C:\Windows\System32包含大量的系统文件,不能把该目录直接删除。然后每次更改JAVA_HOME的值都能达到我们预期的效果。
配置多个JDK存在的问题与解决方案 (亲测可用)的更多相关文章
- 史上最详细Windows版本搭建安装React Native环境配置 转载,比官网的靠谱亲测可用
史上最详细Windows版本搭建安装React Native环境配置 2016/01/29 | React Native技术文章 | Sky丶清| 95条评论 | 33530 views ...
- 【转】Win7环境下VS2010配置Cocos2d-x-2.1.4最新版本的开发环境(亲测)
http://blog.csdn.net/ccf19881030/article/details/9204801 很久以前使用博客园博主子龙山人的一篇博文<Cocos2d-x win7+vs20 ...
- Win7环境下VS2010配置Cocos2d-x-2.1.4最新版本的开发环境(亲测)
写这篇博客时2D游戏引擎Cocos2d-x的最新版本为2.1.4,记得很久以前使用博客园博主子龙山人的一篇博文<Cocos2d-x win7+vs2010配置图文详解(亲测)>成功配置 ...
- Netbeans7.0完美中文+Consolas字体显示配置(亲测可用)
最近把开发环境从Eclipse迁移到了Netbeans上面.因为Netbeans已经相当优秀,速度快功能也不必Eclipse差,但是一只有 一个问题一直让我对eclipse非常纠结:如果把字体选择为C ...
- Win7(32/64)VS2010配置编译GDAL环境(图文教程+亲测可用!)
最近的一个VS2010的项目中用到了GDAL,关于GDAL这个库的说明与赞美,这里就不赘述了,下面是在VS2010中配置GDAL的详细过程. 系统说明 Win7(32位/64位),VS2010,GDA ...
- MAC下Xcode配置opencv(2017.3.29最新实践,亲测可行)
本文原创,未经同意,谢绝转载!(转载请告知本人并且经过本人同意--By Pacific-hong) 本人小硕一枚,因为专业方向图像相关,所以用到opencv,然后网上MAC下Xcode配置opencv ...
- 【亲测可用,亦可配置同一平台的不同账号,例如阿里云的两个不同账号】Windows下Git多账号配置,同一电脑多个ssh-key的管理
Windows下Git多账号配置,同一电脑多个ssh-key的管理 这一篇文章是对上一篇文章<Git-TortoiseGit完整配置流程>的拓展,所以需要对上一篇文章有所了解,当然直接 ...
- MAC下Xcode配置opencv(2017.3.29最新实践,亲测可行)(转)
本文原创,未经同意,谢绝转载!(转载请告知本人并且经过本人同意--By Pacific-hong) 本人小硕一枚,因为专业方向图像相关,所以用到opencv,然后网上MAC下Xcode配置opencv ...
- spring boot 日志文件配置(logback-spring.xml)亲测可用!
问题描述:如何配置springboot项目,通过日志配置,使之输出自定义日志. 详细文章:https://blog.csdn.net/gebitan505/article/details/701421 ...
随机推荐
- 怎么用Hostwinds搭建Wordpress博客网站(超详细图文教程)
Hostwinds 成立于 2010 年,在主机托管行业算是一个比较新的品牌,但是,凭借丰富的产品线.卓越的服务器性能.良好的客户支持,以及低廉实惠的价格,他们受到了广大客户的喜爱,并多次获得行业重要 ...
- 图片加载时间缓慢问题API
一.背景 最近段时间,开发写值工具项目中,出现图片加载问题API,响应时间缓慢:为了优化图片加载问题,我进行图片压缩方法,然后API的图片加载还是慢,最终在自己无意中乱写找到了根本的原因. ...
- IIS下网站对options请求直接返回404
什么是options请求 options请求为发送非简单跨域请求前的预检请求,若该请求未正常返回,浏览器会阻止后续的请求发送. 一般情况下,有三种方式会导致浏览器发起预检请求 1.请求的方法不是GET ...
- 跟我学SpringCloud | 第九篇:服务网关Zuul初
SpringCloud系列教程 | 第九篇:服务网关Zuul初探 前面的文章我们介绍了,Eureka用于服务的注册于发现,Feign支持服务的调用以及均衡负载,Hystrix处理服务的熔断防止故障扩散 ...
- Codeforces Gym101505G:Orchard Division(扫描线+线段树第k大)
题目链接 题意 给出一个m*m的地图,上面有n个点,现在需要用一个自定义面积的矩形笼罩住恰好n/2个点,并且这个矩形需要有一个点在至少一个角落上,问这个矩形最小的面积是多少. 思路 有点类似于扫描线. ...
- POJ 3264:Balanced Lineup(RMQ模板题)
http://poj.org/problem?id=3264 题意:给出n个数,还有q个询问,询问[l,r]区间里面最大值和最小值的差值. 思路:RMQ模板题,开两个数组维护最大值和最小值就行. #i ...
- mongo创建集合
查询 db.getCollection('tbTrade').find({strDealSN:'P2P0_153596710bb00010011ba47b342'}); 更新(第一个{}为条件) db ...
- [Python学习]错误篇一
REFERENCE:<Head First Python> ID:我的第一篇[Python学习] BIRTHDAY:2019.7.6 EXPERIENCE_SHARING:两个程序错误类型 ...
- 走近Java之包装器类Integer
前几天,有个同事问了我一个关于Integer类赋值的问题,很有意思,我们一起来看一下(如果有说的不正确的地方,欢迎大家指正). 如上图,同样是赋值,但是两次比较的结果完全不同.我们走近了解一下. 在I ...
- ~~函数基础(七):生成器&迭代器~~
进击のpython 生成器 上来说个这,就有点抽象了! 我们先整点活儿 宁,准备好了吗? 直接相位猛冲! 列表生成器 需求来了,老弟!我有一个数组 a = [1, 2, 3, 4, 5, 6, 7, ...