黑马程序员技术交流社区

标题: jre跟jvm什么区别啊 [打印本页]

作者: wzg1015    时间: 2014-10-30 22:11
标题: jre跟jvm什么区别啊
             面试的时候问到我环境搭建。我当时只回答了jdk,jvm。因为我知道jdk是开发包,程序员用的。jvm是虚拟机,.class程序用的。以前一直听说运行jar需要一个虚拟机,所以我以为这虚拟机就包括了运行时环境呢。所以jre怎么也想不来是什么东东。面试完了以后,说jre就是运行环境。我就纳闷了,jvm难道只是调用jre的运行环境?可是不应该啊,不是说一般装个虚拟机就能运行么。还是说jvm包括了jre?但为什么又分成三部分呢

作者: 小爷邱烙    时间: 2014-10-30 22:21

JRE除了包含JVM之外还包含缓存和一些类库

作者: sk0806    时间: 2014-10-30 22:21
同时懵了,,,面试问这个了??这,,如何回答,我就知道jre中包含jvm,而jdk是java开发工具包
作者: wang90ling    时间: 2014-10-30 22:48
JRE(Java Runtime Environment,Java运行环境),运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。  JRE提供的类库包括有像java.lang,java.until包这样常用的类库。 JVM (Java Virtual Machine,Java虚拟机),它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的   JVM 可以编译你写的java代码并执行编译出来的字节码文件 JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。 java的开发工具集
作者: wzg1015    时间: 2014-10-30 23:31
小爷邱烙 发表于 2014-10-30 22:21
JRE除了包含JVM之外还包含缓存和一些类库

这图意思是不是就是jdk包含了jre,jre又包含了jvm?
作者: wzg1015    时间: 2014-10-30 23:33
sk0806 发表于 2014-10-30 22:21
同时懵了,,,面试问这个了??这,,如何回答,我就知道jre中包含jvm,而jdk是java开发工具包 ...

没这么深。只是让你简单的说一下什么是jdk,jvm,jre。我当时面试匆忙,也没复习过这个。那些只是我在想jre是什么时的思路
作者: wzg1015    时间: 2014-10-30 23:35
sk0806 发表于 2014-10-30 22:21
同时懵了,,,面试问这个了??这,,如何回答,我就知道jre中包含jvm,而jdk是java开发工具包 ...

没这么深。只是让你简单的说一下什么是jdk,jvm,jre。我当时面试匆忙,也没复习过这个。那些只是我在想jre是什么时的思路
作者: neokevin    时间: 2014-10-31 02:02
如果了解了这些术语的意思应该很好解释的,Java 开发工具包 (JDK):一系列工具帮助开发者创建Java应用程序。JDK包含工具编译、运行、打包、分发和监视Java应用程序。Java 虚拟机(JVM):JVM是一个抽象的计算机结构。Java程序根据JVM的特性编写。JVM针对特定于操作系统并且可以将Java指令翻译成底层系统的指令并执行。JVM确保了Java的平台无关性。Java 运行环境(JRE):JRE包含JVM实现和Java API。简单来说就是JDK包含JRE,JRE包含JVM。如果只是为了运行java程序,只需要JRE就ok了,如果还需要编译啊,打包什么的就必须使用JDK了。

作者: 焦旭宁1    时间: 2014-11-1 14:24
简单的说,就是jdk是开发环境,jre是运行环境。jvm是虚拟机,
作者: zhangyangLengen    时间: 2014-11-1 14:29
···什么叫JRE :(重点)
      JRE全称:Java Runtime Enviroment java的运行环境:主要包含JVM+java的类库
  ···什么叫JDK:(重点)
      JDK.全称:Java Development Kit(java开发工具包):包含JRE + 开发工具
  而开发工具主要有:编译工具(javac.exe)打包工具(jar.exe)

总之一句话:
    使用JDK开发完成的java程序,交给JRE运行。
作者: 黄宽    时间: 2014-11-2 11:25
从英文简写理解是,Java开发工具(jdk)、Java运行环境(jre)、Java虚拟机(jvm)。具体是包含与被包含的关系,要想完成开发,必须有运行环境,所以jdk包含jre。运行环境的建构,必须能在操作系统上运行吧,那就需要jvm,所以jre包含jvm,让jvm与操作系统交流。
作者: ジ旋律    时间: 2014-11-2 11:42
楼上说的都挺好
作者: 杜工    时间: 2014-11-2 12:13
都是java大神的后生。。。。




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