JDK(java develop kit ,java开发套件),JRE(java runtime environment,java运行时环境),JVM(java virtual machine,java虚拟机)
JDK
++
|-----jre
++
|-------jvm
|-------
jre只是jdk的一个部分,我们只要拥有了一份jdk就可以进行java程序开发了,而顾名思义,jre是java运行的时候所依赖的平台,jvm则更只是jre的一个部分,jre除了虚拟机外还提供了众多链接库,这些库会被jvm在运行时调用。
我们会发现java_home/下有一个bin文件夹和一个jre文件夹,而jre文件夹下也有一个bin文件夹,它们一样吗?显然不一样。
java_home/bin中的工具是sun公司提供给我们一些工具,如java.exe,javac.exe,而jre/bin下的工具是运行时所需的,于是我们可以发现java_home/bin下有一个javac.exe,而jre/bin下肯定没有javac.exe,这是很容易解释的。
奇怪的是,sun公司给我们提供了两套jre,稍留意一下我们就会发现在装完jdk,还可以选择装一个jre,这个jre是被默认装到C:\Program Files\Java下的。sun提供两套jre是有道理的,如果我们只是想运行java程序,那么去官网下一个jre就行了,而无需拿来一个jdk,如果是要开发java程序那就需要一个jdk了."jdk里面的工具几乎都是用java写的,所以jdk本身就是java应用程序,因此要使用jdk附的工具来开发java程序也必须要自行附一套jre才行,这就是java_home\jre存在的原因,而位于Program File\jre的那套jre就是拿来执行我们自己写的java应用程序的。不过,两套中任何一套jre都可以拿来执行我们所写的java应用程序,可是jdk内附的开发工具在预设开发工具使用包装器(.exe)来启动的情况下,都拿自己支选用java_home\jre".(《Java深度历险》)
因此,现在可以明白设path和classpath的作用了:path是为jdk提供的那些工具设的,如java.exe,javac.exe,而classpath是为java程序所用到的库文件所设的,于是path设成:java_home\bin;而classpath设为:java_home\jre\lib\rt.jar,如果我们开发的一个应用中用到了非j2se提供的库文件,则需将这些文件加到classpath中,比如说利用javamail开发一个邮件应用,就应该把mail.jar
等文件加到classpath中:java_home\jre\lib\ext\mail.jar;.
如果一台PC上装了几个jre,那么就要注意了,有时很容易产生问题,很可能我们用来编译java程序的javac.exe所相关的jre与运行程序时所用的jre不是一个版本, 这可能会产生版本冲突,这可以通过设定path变量来解决。
最后应用中的第三方文件应该加到java_home\jre\lib\ext下,就像刚才那样,与java相关的安全设定档都放置java_home\jre\lib\security。最后扩展一点,与java相关的很多工具的path设定原则都与上述差不多,比如说想安装一个Ant,应该在path 中这样设:
F:\\Ant\apache-ant-1.6.5\bin;看看bin下有什么就明白这样做是为了指定命令工具ant所在的目录。
- 描述: 截自王森老师的《java深度历险》
- 大小: 435.5 KB
分享到:
- 2007-04-19 21:44
- 浏览 2960
- 评论(0)
- 论坛回复 / 浏览 (0 / 5630)
- 查看更多
相关推荐
JDK(Java Development Kit)和 JRE(Java Runtime Environment)是 Java 语言的两个核心组件,它们之间存在着一定的关系和区别。下面我们将详细介绍 JDK 和 JRE 的概念、区别和关系。 JDK JDK 是 Java 语言的软件...
首先,我们需要下载Java Development Kit (JDK) 和Java Runtime Environment (JRE)。JDK是用于编写和编译Java程序的工具集,而JRE则是运行Java程序所必需的环境。你可以通过Oracle官方网站获取这两个组件的最新版本...
标题中的"AIX JDK1.8 JRE1.8 32位"指的是IBM的Java开发工具包(JDK)和Java运行环境(JRE)的32位版本,这两个组件都是针对AIX操作系统设计的。AIX,全称Advanced Interactive eXecutive,是IBM推出的一种基于UNIX的...
#### 五、JDK与JRE的关系 JDK包含了JRE,也就是说,如果你安装了JDK,你就同时拥有了运行Java程序的能力(通过JRE)以及开发Java程序的能力(通过JDK提供的各种工具)。通常情况下,开发人员会安装JDK,而仅需要...
### JDK与JRE的区别:深度解析 在深入探讨JDK(Java Development Kit)与JRE(Java Runtime Environment)之间...总之,JDK和JRE各自服务于不同的目的,了解它们的区别对于正确选择和使用Java开发和运行环境至关重要。
Java JDK与JRE是Java开发和运行环境中的两个核心组件,它们在软件开发和应用程序执行中扮演着至关重要的角色。本文将深入探讨这两个组件的概念、功能以及它们之间的关系。 Java Development Kit (JDK) 是Oracle公司...
此外,了解JDK和JRE的内部工作机制也有助于更好地管理和配置Java环境,从而提高程序的稳定性和性能。 总之,JDK与JRE虽紧密相连,但在功能定位上有明显的区别。理解它们的区别有助于更高效地进行Java开发和部署。
jdk jre 1.8
jdk jre各种版本win、mac、linux等,非官方但安全的下载地址,不用登陆甲骨文官网,不用忍受龟速下载 jdk-8u-linux-x64.tar.gz jdk-8u-windows-x64.exe
简而言之,JDK和JRE是Java生态系统中的两个关键组成部分,它们之间存在着紧密的联系但也有所区别。对于开发者来说,需要安装JDK来进行Java程序的开发;而对于普通用户来说,则只需要安装JRE即可运行Java程序。理解这...
JDK是Java开发工具包的简称,它包含了Java运行环境(JRE)、Java工具和Java基础类库。它是开发人员进行Java程序开发的基础平台,提供了必要的编译、调试等工具。JDK主要包含以下几个部分: 1. **编译器**:例如`javac...
Java 1.8 JDK/JRE 是Java开发工具包和Java运行环境的组合,对于任何Java开发者来说都是必不可少的基础。在本压缩包中,你将找到用于编写、编译和运行Java应用程序的所有必要组件。让我们深入了解一下这两个核心组件...
3. **JVM、JRE和JDK的关系** - **JVM**(Java虚拟机)是JRE的核心部分,负责执行Java字节码。 - **JRE** 包含了JVM以及运行Java程序所需的基本类库和其他资源。 - **JDK** 包含了JRE的所有组件,并增加了用于...
在给定的压缩包文件中,包含的是JDK(Java Development Kit)和JRE(Java Runtime Environment)的1.8版本,具体为jdk1.8.0_181和jre1.8.0_181。 JDK是Java编程的基础,它提供了编写、编译、调试和运行Java应用程序...
5. **文件系统API增强**:提供了`java.nio.file`包,提供了更强大的文件操作功能,如Path、Files和Paths类。 6. **改进的并发**:包括`ForkJoinPool`和`RecursiveAction`,用于实现高效的并行计算。 7. **NIO.2**:...