### Java开发环境(JDK)与运行环境(JRE)详解
#### 一、JDK与JRE的基本概念
Java开发工具包(JDK)是Sun Microsystems为Java开发人员提供的软件开发工具包,它包含了编译、调试和运行Java应用程序所需的所有工具。而Java运行环境(JRE)则是用来执行Java应用程序的基础环境,它包括Java虚拟机(JVM)、Java核心类库和支持文件。
#### 二、JDK与JRE的安装配置
##### 2.1 JDK安装
当安装JDK时,默认情况下会同时安装两套JRE。在不同的JDK版本中,这一过程有所不同:
- **JDK 1.3**:安装程序将自动安装两套JRE,一套位于`jdk\jre`目录下,另一套位于`program files\JavaSoft`目录下。
- **JDK 1.4**:可以选择是否安装位于`program files\java`目录下的JRE,但位于`jdk`安装目录下的JRE是必须安装的。
##### 2.2 JRE的组成
JRE主要由以下几部分组成:
- **Java类函数库**:提供了基本的数据类型和类库支持。
- **原生函数库**:这些`.dll`文件用于提供平台特定的功能支持。
- **Java虚拟机 (JVM)**:负责执行Java字节码。
- **帮助函数库**:其他相关的`.dll`文件。
#### 三、JRE与PC的比较
在理解JRE的基础上,可以将其与传统的PC环境进行比较:
- **JRE**:由Java类函数库、原生函数库、JVM以及帮助函数库组成。
- **PC**:依赖于Win32 API `.dll`文件,并通过CPU执行代码。
#### 四、JRE与JVM的关系
JRE包含JVM,JVM是JRE的一个组成部分,用于解释执行Java字节码。具体来说,在JDK的`jre`目录下,存在两种类型的JVM实现:`bin\client`和`bin\server`。前者适合客户端应用,而后者适用于服务器端应用。
##### 4.1 客户端JVM示例
默认情况下,安装JDK后未设置路径时,通过命令行调用`java -version`可以查看到安装的JVM版本及类型(默认为客户端JVM):
```plaintext
C:\Documents\Administrator>java -version
java version "1.5.0_11"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_11-b03)
Java HotSpot(TM) Client VM (build 1.5.0_11-b03, mixed mode, sharing)
```
##### 4.2 服务器端JVM示例
如果想要查看服务器端JVM的信息,则需要显式指定使用`-server`选项。例如,在设置了`PATH`变量包含`jdk\bin`目录的情况下:
```plaintext
C:\>set path="C:\Program Files\Java\jdk1.5.0_11\bin"; %path%;
C:\>java -server -version
java version "1.5.0_11"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_11-b03)
Java HotSpot(TM) Server VM (build 1.5.0_11-b03, mixed mode)
```
#### 五、JDK中的开发工具
JDK中包含了多种开发工具,这些工具大多数都是使用Java语言编写的。例如,`javac.exe`用于编译Java源代码,其实际上是一个“包装器”,即通过调用`java -classpath x:\jdk1.xx\lib\tools.jar com.sun.tools.javac.Main`来实现。
#### 六、JDK与JRE的选择
JDK本身也是一个Java应用程序,因此在使用JDK提供的工具时,也需要有一套JRE来运行这些工具。通常,JDK安装目录下的JRE用于运行JDK自带的工具,而`program files`下的JRE则用于运行用户编写的Java程序。不过,这两套JRE都可以用来运行用户编写的Java程序,只不过默认情况下JDK工具会使用自身目录下的JRE。
### 总结
本文详细介绍了JDK与JRE的基本概念及其安装配置过程,并通过对比分析了它们之间的差异与联系。通过了解这些基础知识,开发者可以更好地配置Java开发环境,确保应用程序能够在不同环境中正确运行。此外,对于JDK中的各种工具也有了一定的认识,有助于提高开发效率。