Jre 是java runtime environment, 是java程序的运行环境。既然是运行,当然要包含jvm,也就是大家熟悉的虚拟机啦, 还有所有java类库的class文件,都在lib目录下打包成了jar。大家可以自己验证。至于在windows上的虚拟机是哪个文件呢? jre/bin/client里面是不是有一个jvm.dll呢?那就是虚拟机。
Jdk 是java development kit,是java的开发工具包,里面包含了各种类库和工具。当然也包括了另外一个 Jre. 那么为什么要包括另外一个Jre呢?而且jdk/jre/bin同时有client和server两个文件夹下都包含一个 jvm.dll。 说明是有两个虚拟机的。这一点不知道大家是否注意到了呢?
相信大家都知道jdk的bin下有各种java程序需要用到的命令,与jre的bin目录最明显的区别就是jdk下才有javac,这一点很好理解,因为 jre只是一个运行环境而已。与开发无关,正因为如此,具备开发功能的jdk自己的jre下才会同时有client性质的jvm和server性质的 jvm, 而仅仅作为运行环境的jre下只需要client性质的jvm.dll就够了。
记得在环境变量path中设置jdk/bin路径麽?这应该是大家学习Java的第一步吧, 老师会告诉大家不设置的话javac和java是用不了的。确实jdk/bin目录下包含了所有的命令。可是有没有人想过我们用的java命令并不是 jdk/bin目录下的而是jre/bin目录下的呢?不信可以做一个实验,大家可以把jdk/bin目录下的java.exe剪切到别的地方再运行 java程序,发现了什么?一切OK!
那么有人会问了?我明明没有设置jre/bin目录到环境变量中啊?
试想一下如果java为了提供给大多数人使用,他们是不需要jdk做开发的,只需要jre能让java程序跑起来就可以了,那么每个客户还需要手动去设置环境变量多麻烦啊?所以安装jre的时候安装程序自动帮你把jre的java.exe添加到了系统变量中,验证的方法很简单,去 Windows/system32下面去看看吧,发现了什么?有一个java.exe。
以上是我最近研究JRE和JDK区别时通过网上寻找的材料然后自己整理的,希望对大家有点帮助!
JDK
JDK 是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK.最主流的 JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如IBM公司开发的JDK,BEA公司的Jrocket,还有GNU组织开发的JDK等等。其中IBM的JDK包含的JVM(Java Virtual Machine)运行效率要比Sun JDK包含的JVM高出许多。而专门运行在x86平台的Jrocket在服务端运行效率也要比Sun JDK好很多。但不管怎么说,我们还是需要先把Sun JDK掌握好。
JDK一般有三种版本:SE(J2SE),standard edition,标准版,是我们通常用的一个版本EE(J2EE),enterpsise edtion,企业版,使用这种JDK开发J2EE应用程序,ME(J2ME),micro edtion,主要用于移动设备、嵌入式设备上的java应用程序Java开发工具(JDK)是许多Java专家最初使用的开发环境。尽管许多编程人员已经使用第三方的开发工具,但JDK仍被当作Java开发的重要工具。JDK由一个标准类库和一组建立,测试及建立文档的Java实用程序组成。其核心 Java API是一些预定义的类库,开发人员需要用这些类来访问Java语言的功能。Java API包括一些重要的语言结构以及基本图形,网络和文件I/O.一般来说,Java API的非I/O部分对于运行Java的所有平台是相同的,而I/O部分则仅在通用Java环境中实现。
作为JDK实用程序,工具库中有七种主要程序。
◆Javac:Java编译器,将Java源代码转换成字节码。
◆Java:Java解释器,直接从类文件执行Java应用程序字节代码。
◆appletviewer:小程序浏览器,一种执行HTML文件上的Java小程序的Java浏览器。
◆Javadoc:根据Java源码及说明语句生成HTML文档。
◆Jdb:Java调试器,可以逐行执行程序,设置断点和检查变量。
◆Javah:产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。
◆Javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。
JRE
JRE(Java Runtime Environment,Java运行环境),运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。是Sun的产品,包括两部分:JavaRuntimeEnvironment和JavaPlug-inJavaRuntimeEnvironment(JRE)是可以在其上运行、测试和传输应用程序的Java平台。它包括Java虚拟机、Java平台核心类和支持文件。它不包含开发工具——编译器、调试器和其它工具。JRE需要辅助软件 ——JavaPlug-in——以便在浏览器中运行applet.J2RE是Java2 Runtime Environment,即Java运行环境,有时简称JRE.如果你只需要运行Java程序或Applet,下载并安装它即可。如果你要自行开发 Java软件,请下载JDK.在JDK中附带有JRE.注意由于Microsoft对Java的支持不完全,请不要使用IE自带的虚拟机来运行 Applet,务必安装一个JRE或JDK.
分享到:
相关推荐
JDK(Java Development Kit)和 JRE(Java Runtime Environment)是 Java 语言的两个核心组件,它们之间存在着一定的关系和区别。下面我们将详细介绍 JDK 和 JRE 的概念、区别和关系。 JDK JDK 是 Java 语言的软件...
### JDK与JRE的区别 #### 一、概念解析 **JDK**(Java Development Kit):作为Java开发工具包,它是面向开发人员的核心组件。它不仅包含必要的运行环境(即JRE),还提供了完整的Java软件开发环境,包括编译器...
### JDK与JRE的区别:深度解析 在深入探讨JDK(Java Development Kit)与JRE(Java Runtime Environment)之间...总之,JDK和JRE各自服务于不同的目的,了解它们的区别对于正确选择和使用Java开发和运行环境至关重要。
### JDK、JRE与JVM的区别详解 #### 一、引言 在深入探讨JDK、JRE与JVM之间的区别之前,我们首先需要明确这三个概念的基本定义及其各自的作用。对于初学者而言,理解这些核心组件是学习Java编程的基础。 #### 二、...
标题中的"AIX JDK1.8 JRE1.8 32位"指的是IBM的Java开发工具包(JDK)和Java运行环境(JRE)的32位版本,这两个组件都是针对AIX操作系统设计的。AIX,全称Advanced Interactive eXecutive,是IBM推出的一种基于UNIX的...
简而言之,JDK和JRE是Java生态系统中的两个关键组成部分,它们之间存在着紧密的联系但也有所区别。对于开发者来说,需要安装JDK来进行Java程序的开发;而对于普通用户来说,则只需要安装JRE即可运行Java程序。理解这...
### JDK与JRE的区别 #### 一、JDK与JRE的基本概念 ##### JDK(Java Development Kit) JDK,即Java开发工具包,是面向开发人员使用的软件开发工具包(SDK)。它包含了编译、调试和运行Java应用程序所需的所有工具...
java的开发工具集,顾名思义就是你做开发用的,其中来包括javac,也...所以jdk和jre的区别就度是一个用于开发,一个用于运行,联系就是他们都是java开发者所必备问的(除非你就像运行java程序,那么用jre就足够了)。
Java Development Kit(JDK)是Java编程语言的核心组件,它包含了一个Java运行环境(JRE)、编译器、调试器和其他工具,使得开发者能够编写、测试和运行Java应用程序。JRE则是Java应用程序运行所需的环境,它不包含...
Java开发和运行环境的核心组件是JDK(Java Development Kit)和JRE(Java Runtime Environment)。两者之间存在着明显的差异,对于理解和使用Java编程至关重要。 首先,JDK是Java开发者需要的工具包,它提供了完整...
### JDK、JRE及环境变量的内幕详解 ...总结来说,JDK与JRE之间的关系紧密,了解它们的区别和使用场景对于Java开发者来说至关重要。同时,正确配置环境变量能够确保Java程序的正常运行,提高开发效率。
### Java JDK 和 JRE 的区别 - **JDK**:包含了JRE的所有内容,同时还包括编译工具、调试工具等。 - **JRE**:只包含运行Java程序所必需的部分,没有开发工具。 ### Java 1.6、1.7 和 1.8 版本的特点 #### Java ...
JDK和JRE安装视频
JDK(Java Development Kit)和 JRE(Java Runtime Environment)是 Java programming language 的核心组件,安装和配置它们是 Java 开发的第一步。本文将详细讲解 JDK 和 JRE 的安装和配置过程,并提供了一个简单的...
JDK 所需jar包
本文将详细介绍如何在Oracle官网上下载特定的历史版本的Java JDK或JRE,以及这些版本之间的一些关键区别。 #### 一、Java JDK与JRE的区别 1. **JRE(Java Runtime Environment)**:它包含了Java虚拟机(JVM)、...