JRE和JVM有什么区别?

47 java jvm

我认为JVM与.NET Framework类似,对吗?然后什么是JRE?

谢谢!

vip*_*_vj 101

Java运行时环境包含JVM,类库和其他支持文件.

它不包含任何开发工具,如编译器,调试器等.

实际上JVM运行程序,它使用类库和其他

JRE中提供的支持文件.

JRE = JVM + Java包类(如util,math,lang,awt,swing等)+运行时库.

如果要运行任何Java程序,则需要在系统中安装JRE.

JRE是框,JVM是框的内容.

简单来说 JRE = JVM + rt.jar

其中rt.jar包含用于运行程序的lang,util,awt,swing,math等库或编译的.class文件.

了解有关JVM和JRE之间差异的更多信息 - 点击这里

  • 谢谢.这比接受的答案要好得多. (10认同)
  • 该链接已失效,但该页面已存档在 Wayback Machine 上:[JRE 和 JVM 之间的差异(存档于 2011 年 9 月 15 日)](https://web.archive.org/web/20110916100627/http://programmingbulls. com:80/jre 和 jvm 之间的差异) (2认同)

Wil*_*ler 39

JRE是虚拟机运行的环境.

JRE - JAVA运行时环境

JVM - JAVA虚拟机

JRE是容器,JVM是内容.


小智 12

首先,JDK包含JRE +开发工具,JRE包含JVM +类库.其中JVM包含(类加载器和字节码验证器)和执行引擎(解释器和JIT).编译器将源代码转换为中间字节代码.将此字节代码提供给JVM以供执行.JVM中的类加载器将加载字节代码并与JRE提供的类库进行链接.然后代码将被提供给JVM中的执行引擎,解释不重复的代码并编译重复的代码(例如循环),最后转换成机器代码(目标代码).然后它将机器代码提供给微处理器执行.有任何疑问:maheshathreya22@gmail.com

  • JDK = JRE + 开发工具 =(JVM + 类库)+ 开发工具 (2认同)

小智 6

这个问题的简单答案是JRE是超级JVM集.

也就是说,用java编译器(javac)编译的代码产生字节代码(.class文件).作为jdk子集的jre 包含所需的库以及jvm.jvm运行字节代码并生成机器可读形式的机器代码,并支持该代码所需的库.

要查看jvm的配置,请转到:C:\ Program Files\Java\jre7\lib\i386\jvm.cfg
此文件包含可用作java,javac等选项的JVM列表.


小智 6

通俗地说: -

JDK = JRE +开发/调试工具,其中JDK是我们使用Java的完整包,从创建编译到运行它.另一方面,JRE只是运行代码(字节代码).

注意: - 无论我们是安装JDK还是JRE,JVM都会与这两个软件包捆绑在一起,而JVM是JIT编译器将字节代码转换为机器特定代码的部分.

JVM is Java Virtual Machine -- the JVM actually runs Java bytecode.
JDK is Java Developer Kit -- the JDK is what you need to compile Java source code.
JRE is Java Runtime Environment -- is what you need to run a Java program and contains a JVM, among other things.
Run Code Online (Sandbox Code Playgroud)


And*_*bbs 5

JRE 包括 JVM,它实际上解释字节码并运行程序。为此,JVM 使用 JRE 提供的库和其他文件。

我相信你会说JRE就像.NET Framework,而JVM就像.NET CLR。不过,这里可能存在一些我不知道的重要差异。