Java虚拟机系列(一)深入Java 2 SDK
2013-08-09 07:23
465 查看
Author:Martin
E-mail:mwdnjupt@sina.com.cn
CSDN Blog:http://blog.csdn.net/ictcamera
Sina MicroBlog ID:ITCamera
Main Reference:
《java深度历险》 王森
《深入理解Java虚拟机-java高级特性与最佳实践》 周志明
JRE(Java Runtime Environment)Java运行时环境,包括基础jar包、动态链接库等。
JVM(Java Virtual Machine)Java虚拟机。
JRE比喻成PC机
两套JRE的安装
安装JDK的时候默认会按照两套JRE。一套在<JDK安装目录>下;另外一套在C:\Program
Files\Java下。如果在安装过程中不勾选“Java 2 Runtime Environment”选择项,那么JDK安装目录下JRE肯定会安装,而C:\Program
Files\Java下不会安装,即勾选针对的是C:\Program Files\Java下的JRE。
如果不改变JDK安装的默认路径,将其按照在C盘,JDK目录及其下的JRE目录信息如下:
C:\Program Files\Java下的JRE目录如下:
两套JRE的原因
JDK包含java.exe、javac.exe等一些工具,这些工具也是用Java写的,这些工具的执行需要JRE,因此,安装JDK必须有对应的JRE安装,这些工具也会默认使用这套JRE。当然两套的任何一套JRE都可用于执行用户的Java程序用的。
注意:这两套JRE是独立的;jre目录下\lib\ext目下用来放置用户需要的额外的jar包;\lib\
security下的配置文件用来设置JAVA虚拟机的安全。
使用哪个目录下的Java.exe
很多软件(例如JBuilder)安装的时候会附加安装上JDK或者JRE,那么机器上很有可能存在很多java.exe(对于一个JDK,JDK目录的bin下和JDK目录的JRE的bin目录下就分别存在java.exe,按照上面说的,如果按照JDK的时候勾选了“Java
2 Runtime Environment”,那么C:\Program Files\Java的JRE的bin下也存在java.exe)以及很多的JRE,那么到底用的是哪个java.exe?
这个就需要用到默认环境变量path来设置决定,首先会在当前路劲下去找java.exe,如果找不到则去path指定的目录去查找。如何设置环境变量?通过系统的高级设置中的“环境变量”来设置。
注意Java Home环境变量只是指定JDK目录,相当于一个变量,各种程序中能够使用这个环境变量,通过这个变量减少了路径输入错误的可能。
Java.exe使用哪套JRE
找到了java.exe,按照上面所述,运行该命令还需要找到对应的JRE,怎么找?按照下面的顺序查找
1、
在当前目录下有没有JRE目录
2、
查找父目录下的子目录
3、
查询注册表项“HEKY_LOCAL_MACHINE\SOFTWARE\JavaSoft\JavaHome”(以前是Runtime Environment)
E-mail:mwdnjupt@sina.com.cn
CSDN Blog:http://blog.csdn.net/ictcamera
Sina MicroBlog ID:ITCamera
Main Reference:
《java深度历险》 王森
《深入理解Java虚拟机-java高级特性与最佳实践》 周志明
1、Java各种版本与工具的演进
2、各种SDK之间的关系
3、JDK、JRE、JVM之间的关系
JDK(Java Development Kit)Java开发包,是各种工具程序、JRE、文档等等总和。JRE(Java Runtime Environment)Java运行时环境,包括基础jar包、动态链接库等。
JVM(Java Virtual Machine)Java虚拟机。
JRE比喻成PC机
两套JRE的安装
安装JDK的时候默认会按照两套JRE。一套在<JDK安装目录>下;另外一套在C:\Program
Files\Java下。如果在安装过程中不勾选“Java 2 Runtime Environment”选择项,那么JDK安装目录下JRE肯定会安装,而C:\Program
Files\Java下不会安装,即勾选针对的是C:\Program Files\Java下的JRE。
如果不改变JDK安装的默认路径,将其按照在C盘,JDK目录及其下的JRE目录信息如下:
C:\Program Files\Java下的JRE目录如下:
两套JRE的原因
JDK包含java.exe、javac.exe等一些工具,这些工具也是用Java写的,这些工具的执行需要JRE,因此,安装JDK必须有对应的JRE安装,这些工具也会默认使用这套JRE。当然两套的任何一套JRE都可用于执行用户的Java程序用的。
注意:这两套JRE是独立的;jre目录下\lib\ext目下用来放置用户需要的额外的jar包;\lib\
security下的配置文件用来设置JAVA虚拟机的安全。
使用哪个目录下的Java.exe
很多软件(例如JBuilder)安装的时候会附加安装上JDK或者JRE,那么机器上很有可能存在很多java.exe(对于一个JDK,JDK目录的bin下和JDK目录的JRE的bin目录下就分别存在java.exe,按照上面说的,如果按照JDK的时候勾选了“Java
2 Runtime Environment”,那么C:\Program Files\Java的JRE的bin下也存在java.exe)以及很多的JRE,那么到底用的是哪个java.exe?
这个就需要用到默认环境变量path来设置决定,首先会在当前路劲下去找java.exe,如果找不到则去path指定的目录去查找。如何设置环境变量?通过系统的高级设置中的“环境变量”来设置。
注意Java Home环境变量只是指定JDK目录,相当于一个变量,各种程序中能够使用这个环境变量,通过这个变量减少了路径输入错误的可能。
Java.exe使用哪套JRE
找到了java.exe,按照上面所述,运行该命令还需要找到对应的JRE,怎么找?按照下面的顺序查找
1、
在当前目录下有没有JRE目录
2、
查找父目录下的子目录
3、
查询注册表项“HEKY_LOCAL_MACHINE\SOFTWARE\JavaSoft\JavaHome”(以前是Runtime Environment)
相关文章推荐
- 深入理解java虚拟机系列(一):java内存区域与内存溢出异常
- 深入理解java虚拟机系列(一):java内存区域与内存溢出异常
- [深入理解Java虚拟机]第一章 走进Java
- Java深入浅出系列(三)——深入剖析动态代理--性能比较
- Java虚拟机系列(二)深入类加载器
- 【Java故事系列】Java虚拟机的10年
- 深入理解Java的Annotation系列-第一部分 注解基础
- 深入理解JAVA集合系列四:ArrayList源码解读
- 深入java集合学习系列-ConcurrentHashMap实现原理
- 深入Java集合学习系列:ArrayList的实现原理
- 深入Java集合学习系列:LinkedHashMap的实现原理
- 深入Java集合学习系列:ArrayList的实现原理
- 深入理解Java的Annotation系列-第五部分 使用注解编写ORM框架
- 1.15.5 Java多线程 -- 深入理解JMM(Java内存模型) 系列文章
- 深入Java集合系列之一:ArrayList
- 深入Java集合学习系列:HashMap的实现原理
- 深入Java集合学习系列:HashMap的实现原理
- 【Java 虚拟机系列知识:整理一】java虚拟机的生命周期
- 深入理解JAVA I/O系列五:对象序列化
- Java深入浅出系列(四)——深入剖析动态代理--从静态代理到动态代理的演化