你知道自己执行的是哪个jre吗?

多个JRE

我在做《Java日志工具之java.util.logging.Logger》的DEMO时,修改java.util.logging.Logger的配置文件,怎么修改都不起作用,因此打印了系统属性"java.home",才知道自己使用的是

C:Program FilesJavajre7

,而不是自己想当然的

D:Program FilesJavajdk1.7.0_05jre

这可以追溯到安装JDK的时候,我们安装JDK的时候如果选择安装公共JRE就会安装两个JRE,以我安装JDK7为例,如下图:

可以看到会安装两个JRE,一个是JDK的专用JRE,一个是独立JRE。

为什么JDK自己还要装专用的JRE呢,不是多次一举吗?其实答案在于JDK多数工具本身就是JAVA编写的,执行自然需要JRE,为了防止你不知道要装JRE,所以干脆直接给你一个专用的。


到底使用的是哪个JRE

执行java.exe时,其实操作系统一般是按照如下顺序查找JRE:

  1. 查找当前目录下有没有JRE; 
  2. 超找父目录下有没有JRE;
  3. 在PATH路径中找JRE(一般运行时从path中查找,按照path设置前后顺序,以前面为准);
  4. 在注册表HKEY_LOCAL_MACHINESOFTWAREJavaSoftJava Runtime Environment 查看CurrentVersion的键值指向哪个JRE;

现在知道了为什么我修改java.util.logging.Logger的配置文件不起作用了吧?

其实可以获取系统属性"java.home"来快速查看自己到底用的是哪个JRE。

出处:http://www.zhaiqianfeng.com    
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
原文地址:https://www.cnblogs.com/zhaiqianfeng/p/4620122.html