多个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:

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

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

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

你知道自己执行的是哪个jre吗?的更多相关文章

  1. JVM/JDK/JRE/IDE—区别(很经典)

    转载于 http://blog.csdn.net/jojo52013145/article/details/5801916 只是为了学习,转载没有别的目地,就是爱copy,copy一点点,进步一点点 ...

  2. JDK、JRE、javac和JVM的关系

      .java为Java的源文件后缀,编写的代码需要写在.java文件中.     Javac编译器,用于读取Java源代码,并将其编译成字节代码.经过javac编译后形成.class,是字节码文件. ...

  3. JRE、JDK、JVM区别和联系

    首先说Java编程语言,它是一门高级编程语言,具体由谁何时创建的,读者可以到网上查找相关资料,这里就不再赘述.那么,谈到Java就不得不谈谈JVM.JRE和JDK三者间的区别和联系. JVM:英文全称 ...

  4. java的jdk和jre区别

    本文是本人随便总结的== 首先大概清楚个关系:jdk 包含 jre 包含 jvm 然后来看下,当我们配置完java运行环境的时候,是不是在java默认安装文件下发现jdk和jre两个包,然后jdk包里 ...

  5. 深入理解JDK、JRE(两套)、JVM、以及不同目录下的java.exe

    内容来自:http://blog.sina.com.cn/s/blog_7ffb8dd501011sgc.html 1.jdk下bin目录里的java.exe与外部jre中的java.exe的秘密   ...

  6. JVM、JRE和JDK三者间的区别和联系

    简介:我们利用JDK(调用JAVA API)开发了属于我们自己的JAVA程序后,通过JDK中的编译程序(javac)将我们的文本java文件编译成JAVA字节码,在JRE上运行这些JAVA字节码,JV ...

  7. JDK,JRE,JVM三者之间的关系和作用

    1,定义: JDK: Java Develpment Kit java 开发工具 bin:最主要的是编译器(javac.exe) include:java和JVM交互用的头文件 lib:类库 JRE: ...

  8. Java基础知识(壹)

    写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...

  9. JAVA理论概念大神之概念汇总

    我个人觉得,JAVA之所以能够经久不衰,有一个很重要的原因就是:JAVA的理论总是给人一种,虽然不知道是什么,但是感觉很厉害的样子.就单是这一点,他就已经超越许多其他语言了,至少吹牛的时候谈资总是很多 ...

随机推荐

  1. Spring学习笔记IOC与AOP实例

    Spring框架核心由两部分组成: 第一部分是反向控制(IOC),也叫依赖注入(DI); 控制反转(依赖注入)的主要内容是指:只描述程序中对象的被创建方式但不显示的创建对象.在以XML语言描述的配置文 ...

  2. js原生设计模式——2面向对象编程之继承—call(this)构造函数式继承

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  3. --@angularJS--独立作用域scope绑定策略之=符策略

    1.index.html: <!DOCTYPE HTML><html ng-app="app"><head>    <title>s ...

  4. Wireshark对常见视频应用的抓包分析的结果

    一.PC端直播: YY客户端直播用的udp(P2P)9158客户端直播用的rtp/rtcp 二.Web端直播: YY网页端直播用的tcp9158网页端直播用的tcp六间房网页端直播用的tcp17173 ...

  5. js运算符单竖杠“|”的作用

    在js整数操作的时候,相当于去除小数点,parseInt.在正数的时候相当于Math.floor(),负数的时候相当于Math.ceil() 注: 1. Math.ceil()用作向上取整. 2. M ...

  6. CodeForces 725A

    A. Jumping Ball time limit per test 2 seconds memory limit per test 256 megabytes input standard inp ...

  7. Redis系列四(keepalived+lvs搭建负载均衡)

    1.安装Keepalived(主备服务器都要安装) 10.8.80.218  主服务器 10.8.80.217  备服务器 10.8.80.200  虚拟IP $ wget http://www.ke ...

  8. Web压力测试小工具:webbench、http_load、Siege、ab

    webbench 安装 下载地址:http://home.tiscali.cz/~cz210552/distfiles/webbench-1.5.tar.gz 或者 http://soft.vpser ...

  9. JS中常见排序算法详解

    本文将详细介绍在JavaScript中算法的用法,配合动图生动形象的让你以最快的方法学习算法的原理以及在需求场景中的用途. 有句话怎么说来着: 雷锋推倒雷峰塔,Java implements Java ...

  10. secache 详解

    介绍下secache缓存,它是属于文件缓存.简单来说,文件缓存就是把缓存数据存储到文件系统 (硬盘)中了,比 内存缓存要慢一些,但是也是有一点优点的. 1.磁盘容量大, 2保存到硬盘,说明 掉电后数据 ...