黑马程序员技术交流社区

标题: java基础 [打印本页]

作者: 疯狂灵魂    时间: 2015-11-14 17:25
标题: java基础
jvm,jre,jdk的区别

作者: 雾里看花。    时间: 2015-11-14 18:26
1 . JRE包括java虚拟机和Java程序所需要的核心类库,如果想要运行一个开发好的Java程序,电脑中就只需安装JRE即可了。2.  JDK呢 是提供给Java程序开发人员提供的,里面包括了Java的开发工具,同时包括了JRE,电脑中如果安装了JDK的话,就没有必要在装JRE了。3.  JDK包含JRE,JRE包含JVM
作者: sabrina妖儿    时间: 2015-11-14 20:27
JDK : Java Development ToolKit(Java开发工具包)。JDK是整个JAVA的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)。 JRE:Java  Runtime  Enviromental(java运行时环境)。也就是我们说的JAVA平台,所有的Java程序都要在JRE下才能运行。包括JVM和JAVA核心类库和支持文件。与JDK相比,它不包含开发工具——编译器、调试器和其它工具。       JVM:Java Virtual Mechinal(JAVA虚拟机)。JVM是JRE的一部分,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。JVM 的主要工作是解释自己的指令集(即字节码)并映射到本地的 CPU 的指令集或 OS 的系统调用。Java语言是跨平台运行的,其实就是不同的操作系统,使用不同的JVM映射规则,让其与操作系统无关,完成了跨平台性。JVM 对上层的 Java 源文件是不关心的,它关注的只是由源文件生成的类文件( class file )。类文件的组成包括 JVM 指令集,符号表以及一些补助信息。
作者: HavaDream    时间: 2015-11-14 20:53
1、jvm: java虚拟机,java程序运行的最小环境。(  jvm保证了java程序的跨平台)  2、jre: jvm+核心类库,java程序开发的最小环境   3、jdk:  jre+java开发工具包;java开发软件的运行环境
作者: android_921    时间: 2015-11-15 10:18
jrejava运行环境,jdk,java语言开发包,jvm,java虚拟机
jdk包含jre,jre包含jvm
一个平台如果需要运行java程序,就必须安装jre;如果你是一个开发者,那就必须安装jdk,jdk之所以包含jre是因为开发的同时也需要运行检察.
作者: Rocky_zhang    时间: 2015-11-15 20:10
本帖最后由 Rocky_zhang 于 2015-11-15 20:11 编辑

jvm是java虚拟机,jre是java运行环境,而jdk是整个java的核心,包括java编辑器、java运行工具、java文档生成工具以及java打包工具,其中jdk包括jre,jre又包含jvm
作者: geqiandesiyu    时间: 2015-11-15 20:19
JDK是java开发工具包,JDK中包含JRE(java运行环境),JRE之所以可以运行java程序依托于JVM虚拟机.understand
作者: 陈光慧    时间: 2015-11-15 21:29
看看这个图吧,不错。

1.png (69.65 KB, 下载次数: 166)

1.png

作者: 约吗^_^    时间: 2015-11-15 21:30
JDK : Java Development ToolKit(Java开发工具包)。JDK是整个JAVA的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)。
JRE:Java  Runtime  Enviromental(java运行时环境)。也就是我们说的JAVA平台,所有的Java程序都要在JRE下才能运行。包括JVM和JAVA核心类库和支持文件。与JDK相比,它不包含开发工具——编译器、调试器和其它工具。
JVM:Java Virtual Mechinal(JAVA虚拟机)。JVM是JRE的一部分,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
作者: 袁有福123    时间: 2015-11-15 22:24
JVM -- java virtual machineJVM就是我们常说的java虚拟机,它是整个java实现跨平台的最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行,
作者: 袁有福123    时间: 2015-11-15 22:26
JVM -- java virtual machineJVM就是我们常说的java虚拟机,它是整个java实现跨平台的最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行,
JRE-- java runtime environmentJRE是指java运行环境。与JDK相比,它不包含开发工具——编译器、调试器和其它工具。
JDK -- java development kitJDK是java开发工具包,JDK是整个JAVA的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)。
作者: ^_^笨和尚^_^    时间: 2015-11-16 00:12
我觉得简单的记住  
JVM 是java 虚拟机
jre 是java 程序运行环境  ,包含 jvm
jdk 是java开发工具,包含jre,jvm


作者: 王开冰    时间: 2015-11-16 12:25
JVM:将字节码文件转成具体系统平台的机器指令。
JRE:JVM+Java语言的核心类库。
JDK:JRE+Java的开发工具。
作者: 耀阳圣尊    时间: 2015-11-16 14:16
回复中已有正确答案,请对应给分!
作者: 小龙2015    时间: 2015-11-16 17:58
一、 详细介绍
1、JVM -- java virtual machine
JVM就是我们常说的java虚拟机,它是整个java实现跨平台的 最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可 以在虚拟机上执行,也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解 释给本地系统执行。
JVM 是 Java 平台的基础,和实际的机器一样,它也有自己的指令集,并且在运行 时操作不同的内存区域。 JVM 通过抽象操作系统和 CPU 结构,提供了一种与平台无关的代码执行方法,即与特殊的实现方 法、主机硬件、主机操作系统无关。但是在一些小的方面, JVM 的实现也是互不相同的,比如垃圾回收 算法,线程调度算法(可能不同 OS 有不同的实现)。
JVM 的主要工作是解释自己的指令集(即字节码)到 CPU 的指令集或 OS 的系统调用,保护用户免被恶意程序骚扰。 JVM 对上层的 Java 源文件是不关心的,它关注的只是由源文件生成的类文件( class file )。类文件的 组成包括 JVM 指令集,符号表以及一些补助信息。
2、JRE -- java runtime environment
JRE是指java运行环境。光有JVM还不能成class的 执行,因为在解释class的时候JVM需要调用解释所需要的类库lib。 在JDK的安装目 录里你可以找到jre目录,里面有两个文件夹bin和lib,在 这里可以认为bin里的就是jvm,lib中则是jvm工 作所需要的类库,而jvm和 lib和起来就称为jre。所以,在你写完java程序编译成.class之后,你可以把这个.class文件 和jre一起打包发给朋友,这样你的朋友就 可以运行你写程序了。(jre里有运行.class的java.exe)
JRE 是 Sun 公司发布的一个更大的系统,它里面就有一个 JVM 。 JRE 就与具体的 CPU 结构和操作系统有关,我们从 Sun 下载 JRE 的时候就看到了不同的各种版本。同 JVM 一起组成 JRE 的还有一些 API (如 awt , swing 等)。 JRE 是运行 Java 程序必不可少的。
JRE ( Java Runtime Environment ),是运行 Java 程序必不可少的(除非用其他一些编译环境编译成.exe可执行文件……),JRE的 地位就象一台PC机一样,我们写好的Win32应用程序需要操作系统帮 我们运行,同样的,我们编写的Java程序也必须要JRE才能运行。
JRE里面有一个 JVM , JRE 与具体的 CPU 结构和操作系统有关,我们从 Sun 下载 JRE 的时候就看到了不同的各种版本,,同 JVM 一起组成 JRE 的还有 一些 API (如 awt , swing 等), JRE 是 运行 Java 程序必不可少的.
3、JDK -- java development kit
JDK是java开发工具包,基本上每个学java的人都会先在机器 上装一个JDK,那他都包含哪几部分呢?让我们看一下JDK的安装目录。在目录下面有 六个文件夹、一个src类库源码压缩包、和其他几个声明文件。其中,真正在运行java时起作用的 是以下四个文件夹:bin、include、lib、 jre。现在我们可以看出这样一个关系,JDK包含JRE,而JRE包 含JVM。
bin:最主要的是编译器(javac.exe)
include:java和JVM交互用的头文件
lib:类库
jre:java运行环境
(注意:这里的bin、lib文件夹和jre里的bin、lib是 不同的)总的来说JDK是用于java程序的开发,而jre则 是只能运行class而没有编译的功能。
eclipse、idea等 其他IDE有自己的编译器而不是用JDK bin目录中自带的,所以在安装时你会发现他们只要求你 选中jre路径就ok了。
二、 三者区别
Java 喊出的带有标志性的口号“ Write Once , Run Anywhere (一次编写,到处运行)”,正是建立在 JRE 的基础之上。何以实现?就是在 Java 应用程序和操作系统之间增加了一虚拟层—— JRE 。
程序源代码不是直 接编译、链接成机器代码,而是先转化到字节码( bytecode ) 这种特殊的中间形式,字节码再转换成机器码或系统调用。前者是传统的编译方法,生成的机器代码就不可避免地跟特殊的操作系统和特殊的机器结构相关。
而 Java 程序的字节码文件可以放到任意装有 JRE 的计算机运行,再由不同 JRE 的将它们转化成相应的机器代码,这就实现了 Java 程序的可移植性。这样程序员也不用去 关心程序运行的具体环境,而可以专心编写软件。这种分层抽象、隐藏细节的思想在计算机科学中处处可见,比如机器组织结构的设计、网络协议的实现等。 Pascal 语言的发明者 Niklaus Wirth ,就富有预见性地指出应该有这样一种可移植的语言,其生成的中间代码可以在一台假想的机器( a hypothetical machine )上运行。
而 Java 虚拟机( Java virtual machine 或 JVM )就是这样的一台机器,它模拟实际处理器的结构,解释字节码。 怎么一会说是 JRE ,一会儿又成了 JVM ,两者是否同物不同名? 回答是否定的。
JRE的地位就象一台PC机一样,我们写好的Win32应用程序需要操作系统帮 我们运行,同样的,我们编写的Java程序也必须要JRE才能运行。
要运行Applet,在客户端必须安装有 JRE,即“运行时”,容易一点理解,就象所谓的“插件”,要开发JAVA应用程序\Web应用,就必须在服务器端安装相应的 JVM+JDK 了(开发应用 Java web应用 时,客户端不需要安装任何的JVM)
如果你使用JAVA开发应用,就需要安装 JRE+JDK,就是 J2SE.
如果在客户端运行Applet,客户端浏览器必须嵌有JAVA JVM,如果没有,就需要安装,即: 在客户端创建JRE(运行时,包含JVM),而客户端是不需要做开发的,所以,JDK就没有必要安装 了。
不同版本的Applet在不同的JVM下可能无法正常运行,而Microsoft JVM只是Sun JVM的“低版本”,微软在windows xp/2003中干脆将JVM去掉了.

作者: 阳春白雪    时间: 2015-11-16 21:42
JDK : Java Development ToolKit(Java开发工具包)。JDK是整个JAVA的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)。
JRE:Java  Runtime  Enviromental(java运行时环境)。包括JVM和JAVA核心类库和支持文件。与JDK相比,它不包含开发工具——编译器、调试器和其它工具。
JVM:Java Virtual Mechinal(JAVA虚拟机)。JVM是JRE的一部分,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。JVM 的主要工作是解释自己的指令集(即字节码)并映射到本地的 CPU 的指令集或 OS 的系统调用。Java语言是跨平台运行的,其实就是不同的操作系统,使用不同的JVM映射规则,让其与操作系统无关,完成了跨平台性。JVM 对上层的 Java 源文件是不关心的,它关注的只是由源文件生成的类文件( class file )。类文件的组成包括 JVM 指令集,符号表以及一些补助信息。
作者: 總有刁民想害朕    时间: 2015-11-16 21:49
jdk包含jre,jre包含jvm

作者: 李氏LA8    时间: 2015-11-16 22:19
JVM是JAVA虚拟机,JRE是JAVA的核心类库和JVM虚拟机,JDK是JAVA开发工具,总结来说JDK包含JRE,而JRE包含JVM
作者: 张慧桐    时间: 2015-11-16 22:56

JDK : Java Development ToolKit(Java开发工具包)。JDK是整个JAVA的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)。
JRE:Java  Runtime  Enviromental(java运行时环境)。也就是我们说的JAVA平台,所有的Java程序都要在JRE下才能运行。包括JVM和JAVA核心类库和支持文件。与JDK相比,它不包含开发工具——编译器、调试器和其它工具。
JVM:Java Virtual Mechinal(JAVA虚拟机)。JVM是JRE的一部分,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
作者: 李娜    时间: 2015-11-17 23:40
jvm < jre <jdk
作者: liuqiang11164    时间: 2015-11-20 13:44
jdk包含jre,jre包含jvm
作者: 1018chenhaiyang    时间: 2015-11-20 20:03
jdk包含jre,jre包含jvm,jdk是开发包,jvm是java虚拟机
作者: 潘_洋    时间: 2015-11-20 20:40
jdk用来开发java,交给jre来运行,jvm保证了java语言的跨平台!
作者: zhuwenjia    时间: 2015-11-20 22:38
jre就是java运行环境,jre包含JVM,JVM就是java虚拟机,,jdk就是java开发工具包。它们的关系就是jdk包含jre,jre包含jvm。如果需要运行java程序,只需安装jre即可;如果想要开发,那就要安装jdk。
如果你安装jdk了,就不用安装jre了,因为jdk中包含了jre
作者: 约吗^_^    时间: 2015-11-20 23:39
请看9L的,清晰明了啊
作者: 卞卞    时间: 2015-11-22 15:36
1 . JDK是提供给Java程序开发人员提供的,里面包括了Java的开发工具和JRE,电脑中如果安装了JDK的话,就没有必要装JRE了。(JDK = JRE + java开发工具)
2. JRE包括java虚拟机(jvm)和Java程序所需要的核心类库,如果想要运行一个开发好的Java程序,电脑中就只需安装JRE即可了。(JRE = JVM + 核心类库)
3. jvm是Java虚拟机
(希望可以帮到你)



作者: bbaijiajinger    时间: 2015-11-23 21:45
JDK包括了JRE和java开发工具
JRE包括了JVM和核心类库
JVM包括了java跨品台
作者: lowke    时间: 2015-11-29 15:58
JVM(Java Virtual Machine Java虚拟机)

JVM -- java virtual machineJVM就是我们常说的java虚拟机,它是整个java实现跨平台的最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行,也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行。
可以理解为是一个虚拟出来的计算机,具备着计算机的基本运算方式,
它主要负责将java程序生成的字节码文件解释成具体系统平台上的机器指令。
让具体平台如window运行这些Java程序。

JRE(Java Runtime Environment Java运行环境)

JRE-- java runtime environmentJRE是指java运行环境。光有JVM还不能成class的执行,因为在解释class的时候JVM需要调用解释所需要的类库lib。在JDK的安装目录里你可以找到jre目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib和起来就称为jre。所以,在你写完java程序编译成.class之后,你可以把这个.class文件和jre一起打包发给朋友,这样你的朋友就可以运行你写程序了。
包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等,
如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。

JDK(Java Development Kit Java开发工具包)

JDK -- java development kitJDK是java开发工具包,基本上每个学java的人都会先在机器上装一个JDK,那他都包含哪几部分呢?让我们看一下JDK的安装目录。在目录下面有六个文件夹、一个src类库源码压缩包、和其他几个声明文件。其中,真正在运行java时起作用的是以下四个文件夹:bin、include、lib、 jre。现在我们可以看出这样一个关系,JDK包含JRE,而JRE包含JVM。bin:最主要的是编译器(javac.exe)include:java和JVM交互用的头文件lib:类库jre:java运行环境(注意:这里的bin、lib文件夹和jre里的bin、lib是不同的)总的来说JDK是用于java程序的开发,而jre则是只能运行class而没有编译的功能。
JDK是提供给Java开发人员使用的,其中包含了java的开发工具,
也包括了JRE。所以安装了JDK,就不用在单独安装JRE了。
其中的开发工具包括编译工具(javac.exe) 打包工具(jar.exe)等

简单而言:使用JDK开发完成的java程序,交给JRE去运行。
三者关系:

JVM:将字节码文件转成具体系统平台的机器指令。
JRE:JVM+Java语言的核心类库。
JDK:JRE+Java的开发工具。

我们开发的实际情况是:我们利用JDK(调用JAVA API)开发了属于我们自己的JAVA程序后,通过JDK中的编译程序(javac)将我们的文本java文件编译成JAVA字节码,在JRE上运行这些JAVA字节码,JVM解析这些字节码,映射到CPU指令集或OS的系统调用。
作者: 子午鼬    时间: 2015-11-29 22:24
简单来说装了JDK就不用装jre了,因为jdk包含jre,jre包含虚拟机。对于非开发人员就不用装开发工具jdk了,只需要装jdk其中一部分,jre就可以了!
作者: bbaijiajinger    时间: 2015-12-1 21:32
这嘛多大神你还不满意啊
作者: yangzelin    时间: 2015-12-3 22:43
jdk>jre>jvm
作者: 我住隔壁我姓王    时间: 2015-12-3 22:56
JDK:Java的开发环境,里面包含了JRE和一些开发工具包
JRE:Java的运行环境,里面包含了JVM(Java虚拟机)和核心类库
JVM:Java虚拟机
包含关系:JDK > JRE > JVM
希望对你有帮助
作者: 奔跑吧蜗牛    时间: 2015-12-4 23:23
JVM:Java虚拟机,其本身也是一款软件,不具备跨平台,有Win Mac linux 三个版本
JRE:Java运行环境,包含了JVM和一些核心类库
JDK:Java开发工具包,(有javac编译工具和jar封装工具,),jdk中包含了JRE,JRE包含了JVM
作者: 奔跑吧蜗牛    时间: 2015-12-4 23:24
JVM:Java虚拟机,其本身也是一款软件,不具备跨平台,有Win Mac linux 三个版本
JRE:Java运行环境,包含了JVM和java所需的核心类库
JDK:Java开发工具包,(有javac编译工具和jar封装工具,),jdk中包含了JRE,JRE包含了JVM
作者: 二十七杯酒    时间: 2015-12-5 10:47
JDK:(Java Developement Kit, java开发工具包)是针对java开发人员的开发工具集合。一般称为java SDK
      JDK是整个Java的核心,包括了Java运行环境(JRE),java工具和java基础类库
JRE:(Java Runtime Environment, java运行环境)是运行java程序所必须的环境的集合
      JRE包括java虚拟机,java平台核心类和支持文件。安装JRE是运行Java程序的必需步骤
JVM:(java Virtual Mchine, java虚拟机)是可以运行Java字节码(.class文件)的虚拟计算机系统。是java能够k跨平台的原因
      jvm运行过程如下:
         (1)加载.class文件
          (2)校验字节码
         (3)执行代码
简单解释jdk包括jre,jre包括jvm
简单记:
JDK,JRE,JVM的作用及关系
        作用:
                JVM:保证Java语言跨平台
                JRE: Java程序的运行环境
                JDK;Java程序的开发环境
        关系:
                JDK: JRE+工具
                JRE: JVM+类库
作者: liuzhipeng    时间: 2015-12-5 23:10
jre : 包括Java虚拟机(jvm)和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。    JRE:JVM+类库

jdk : JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了.   其中的开发工具:编译工具(javac.exe)  打包工具(jar.exe)等.     JDK:JRE+JAVA的开发工具。

为什么JDK中包含一个JRE呢?开发完的程序,需要运行一下看看效果。
作者: xiangkai    时间: 2015-12-6 21:45
jdk>jre>jvm
作者: 林以    时间: 2015-12-8 20:06
JVM -- java virtual machineJVM就是我们常说的java虚拟机,它是整个java实现跨平台的最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行,
JRE-- java runtime environmentJRE是指java运行环境。与JDK相比,它不包含开发工具——编译器、调试器和其它工具。
JDK -- java development kitJDK是java开发工具包,JDK是整个JAVA的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)
作者: 少懂一点    时间: 2015-12-9 21:14
jvm就是虚拟机,
作者: 少懂一点    时间: 2015-12-9 21:23
jvm可以看做让java运行的机器;
jre则是包含了这个机器兵提供机器良好运行的环境;
jdk呢则是又在jre基础上加了一些工具,能够用这些工具是机器实现不同的功能。

作者: cai602098596    时间: 2015-12-9 21:32
JDK包括JRE  JRE里面包括JVM
作者: xiedongchi15    时间: 2015-12-10 19:50
jvm是安卓跨平台的虚拟机,java程序都是通过它来调用系统底层来完成的
jre 是指包含了虚拟机和类库这两个方面的
jdk就是可以让程序开发java程序的一个工具包,并且包含了以上两个
作者: 焚寂    时间: 2015-12-10 21:52
标题: java
JVM:就是黑马虚拟机
JRE:JVM+Java语言的核心类库。
JDK:JRE+Java的开发工具。
作者: Mykey    时间: 2015-12-14 22:13

1、jvm: java虚拟机,java程序运行的最小环境。(  jvm保证了java程序的跨平台)
2、jre: jvm+核心类库,java程序开发的最小环境   
3、jdk:  jre+java开发工具包;java开发软件的运行环境
作者: 天若也易老    时间: 2015-12-18 23:18
简单而言:使用JDK开发完成的java程序,交给JRE去运行。
三者关系:
JVM:将字节码文件转成具体系统平台的机器指令。
JRE:JVM+Java语言的核心类库。
JDK:JRE+Java的开发工具。
作者: cj286    时间: 2015-12-30 15:12
    安装JDK后,Java目录下有jdk和jre两个文件夹,但jdk下还有一个jre文件夹,而且这个jre比前面那个jre在bin目录下多了个server文件夹!
    普通用户装jre即可。开发人员需要安装jdk,其中包括jre。所以jdk目录下包括jre目录。两个jre大体相同,有细微的差别。
    两套 jre ,是针对不同的工作职责!不同的 jre 负责各自范围的内容。
    当用户只需要执行 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 。
还有相关JDK的问题 :http://www.cnblogs.com/bukudekong/archive/2011/06/27/2091504.html
也帮我解决了问题
作者: furuigang    时间: 2016-1-17 16:08
JVM、JRE、JDK的关系?
a:JVM(Java虚拟机):保证跨平台性
b:JRE(Java运行环境):JVM + 类库
c:JDK(Java开发工具包):JRE + JAVA的开发工具
d:使用JDK开发完成的java程序,交给JRE去运行,JVM保证跨平台
e:大小关系排列:JVM --> JRE --> JDK
作者: 陈梦佳    时间: 2016-2-7 23:50
本帖最后由 陈梦佳 于 2016-2-7 23:56 编辑

jvm: java virtul machine  java虚拟机 Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。
jre:java run environment  java运行环境 java程序在经过javac编译后会形成字符行文件,这个java的中间文件,计算机是看不懂的,而这个文件是给jvm(java的虚拟机)用的,由jvm进行解释后形成机器语言给计算机。而这个jvm就在jre中,也就是说java程序的运行要有jre来担当。
jdk:java development kit  java开发包  jdk是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序
作者: gxc6073    时间: 2016-3-14 21:55
jdk里面包含jre
jre里面包含jvm
作者: 1191065242    时间: 2016-5-1 18:03
jdk是java开发环境,jdk = jre + java开发工具,jre是java运行环境 jre = jvm + 核心类库,jvm是java虚拟机




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2