你知道自己执行的是哪个jre吗?
多个JRE
我在做《Java日志工具之java.util.logging.Logger》的DEMO时,修改java.util.logging.Logger的配置文件,怎么修改都不起作用,因此打印了系统属性"java.home",才知道自己使用的是
C:\Program Files\Java\jre7
,而不是自己想当然的
D:\Program Files\Java\jdk1.7.0_05\jre
这可以追溯到安装JDK的时候,我们安装JDK的时候如果选择安装公共JRE就会安装两个JRE,以我安装JDK7为例,如下图:


可以看到会安装两个JRE,一个是JDK的专用JRE,一个是独立JRE。
为什么JDK自己还要装专用的JRE呢,不是多次一举吗?其实答案在于JDK多数工具本身就是JAVA编写的,执行自然需要JRE,为了防止你不知道要装JRE,所以干脆直接给你一个专用的。
到底使用的是哪个JRE
执行java.exe时,其实操作系统一般是按照如下顺序查找JRE:
- 查找当前目录下有没有JRE;
- 超找父目录下有没有JRE;
- 在PATH路径中找JRE(一般运行时从path中查找,按照path设置前后顺序,以前面为准);
- 在注册表HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\ 查看CurrentVersion的键值指向哪个JRE;
现在知道了为什么我修改java.util.logging.Logger的配置文件不起作用了吧?
其实可以获取系统属性"java.home"来快速查看自己到底用的是哪个JRE。
你知道自己执行的是哪个jre吗?的更多相关文章
- JVM/JDK/JRE/IDE—区别(很经典)
转载于 http://blog.csdn.net/jojo52013145/article/details/5801916 只是为了学习,转载没有别的目地,就是爱copy,copy一点点,进步一点点 ...
- JDK、JRE、javac和JVM的关系
.java为Java的源文件后缀,编写的代码需要写在.java文件中. Javac编译器,用于读取Java源代码,并将其编译成字节代码.经过javac编译后形成.class,是字节码文件. ...
- JRE、JDK、JVM区别和联系
首先说Java编程语言,它是一门高级编程语言,具体由谁何时创建的,读者可以到网上查找相关资料,这里就不再赘述.那么,谈到Java就不得不谈谈JVM.JRE和JDK三者间的区别和联系. JVM:英文全称 ...
- java的jdk和jre区别
本文是本人随便总结的== 首先大概清楚个关系:jdk 包含 jre 包含 jvm 然后来看下,当我们配置完java运行环境的时候,是不是在java默认安装文件下发现jdk和jre两个包,然后jdk包里 ...
- 深入理解JDK、JRE(两套)、JVM、以及不同目录下的java.exe
内容来自:http://blog.sina.com.cn/s/blog_7ffb8dd501011sgc.html 1.jdk下bin目录里的java.exe与外部jre中的java.exe的秘密 ...
- JVM、JRE和JDK三者间的区别和联系
简介:我们利用JDK(调用JAVA API)开发了属于我们自己的JAVA程序后,通过JDK中的编译程序(javac)将我们的文本java文件编译成JAVA字节码,在JRE上运行这些JAVA字节码,JV ...
- JDK,JRE,JVM三者之间的关系和作用
1,定义: JDK: Java Develpment Kit java 开发工具 bin:最主要的是编译器(javac.exe) include:java和JVM交互用的头文件 lib:类库 JRE: ...
- Java基础知识(壹)
写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...
- JAVA理论概念大神之概念汇总
我个人觉得,JAVA之所以能够经久不衰,有一个很重要的原因就是:JAVA的理论总是给人一种,虽然不知道是什么,但是感觉很厉害的样子.就单是这一点,他就已经超越许多其他语言了,至少吹牛的时候谈资总是很多 ...
随机推荐
- 使用karma+jasmine做单元测试
目的 使用karma和jasmine来配置自动化的js单元测试. Karma和Jasmine Karma是由Angular团队所开发的一种自动化测试工具.链接:http://karma-runner. ...
- Chrome 报 Resource interpreted as Script but transferred with MIME type text/plain 警告的解决办法
http://www.2cto.com/os/201312/262437.html 安装了VS2012之后,chrome在加载页面的时候会报 Resource interpreted as Scrip ...
- Spring aop:decare-parent 为类增加新的方法
Spring aop:decare-parent 为类增加新的方法: 使用XML配置的方式: XML: <?xml version="1.0" encoding=" ...
- node源码详解 (一)
本作品采用知识共享署名 4.0 国际许可协议进行许可.转载保留声明头部与原文链接https://luzeshu.com/blog/nodesource1 本博客同步在https://cnodejs.o ...
- JSTL标签之c:foreach,c:if标签小结
<c:forEach>标签用于通用数据循环,它有以下属性 属 性 描 述 是否必须 缺省值 items 进行循环的项目 否 无 begin 开始条件 否 0 end 结束条件 否 集合中的 ...
- 【js编程艺术】小制作六
1.html /* movie.html*/<!DOCTYPE html> <html> <head> <meta charset="utf-8&q ...
- 【js 编程艺术】小制作一
最近在看js编程艺术,照葫芦画瓢,做了一个小网页.作为一枚前端渣渣,遇到了好多坑,在这里就不提了. 首先是html代码 /*gallery.html*/<!DOCTYPE html> &l ...
- Hadoop学习笔记-008-CentOS_6.5_64_yum安装mysql
******************************卸载mysql***************************** 第一步,查看centos上是否已经安装了mysql数据库 # rp ...
- Redis key 相关命令
其实本质上,Redis 就是一个Key---Value 数据库.这里我先介绍下Redis中关于的key的相关命令, 注意:key是字符串存储,但是不能使用 空格 或者 “\n”,value 则可以使用 ...
- 【Unity3d游戏开发】浅谈UGUI中的Canvas以及三种画布渲染模式
一.Canvas简介 Canvas画布是承载所有UI元素的区域.Canvas实际上是一个游戏对象上绑定了Canvas组件.所有的UI元素都必须是Canvas的自对象.如果场景中没有画布,那么我们创建任 ...