JRE, JDK, JVM,
总的来说, JDK包括JRE, 而JRE又包括了JVM.
JDK - Java Development Kit
JDK是Java开发工具包。是针对Java开发人员提供的。安装完JDK后,可以看到它主要包括这几部分:
--bin 主要包含javac.exe, java.exe, javaws.exe等工具
--db Java 6中加入的新成员。这是一个纯 Java 实现、开源的数据库管理系统(DBMS),源于 Apache 软件基金会(ASF)名下的项目 Derby。
--include Java和JVM交互用的头文件
--jre 包含一个Java运行时环境。
--lib Java开发环境类库
JRE - Java Runtime Environment
JRE是Jave运行时环境。运行Java程序必须JRE。主要包括:
--bin 可以认为这就是JVM
--lib JVM工作所需要的类库
JVM - Java Virtual Machine
JVM是Java虚拟机。.class文件就是运行在JVM上。
两处JRE的区别:
jdk下还有一个jre文件夹,而且这个jre在bin目录下多了个server文件夹!
当用户只需要执行 java 的程序时,那么C:\Program Files\Java\jre1.5.0_08的 jre 就 ok !
当用户是 java 程序员,则需要 java 开发环境。编译时,系统就会优先去找C:\Program Files\Java\jdk1.5.0_08\bin下的“ java 、 javac ”这些命令所在目录或者他们的父目录的 jre 。即开发环境下运行的是 jdk 下的 jre 。
3个lib目录的作用:
JDK下的lib包括java开发环境的jar包,是给JDK用的,例如JDK下有一些工具,可能要用该目录中的文件。例如,编译器等。
JRE下的lib只是运行java程序的jar包,是为JVM运行时候用的。包括所有的标准类库,和扩展类。
JDK下的JRE下的lib是开发环境中,运行时需要的jar包。最典型的就是导入的外部驱动jar包(/ext)。因为编译时,系统找的是jdk下的jre。而不是最外层的jre。