JVM,JDK,JRE,JIT的层次结构是什么?

时间:2013-07-01 15:37:38

标签: jvm java jit jdk1.6

请详细说明以下几点:

  • JDK是否包含JRE?
  • JDK将.java转换为.class,然后JVM理解.class并以二进制转换,那么当OS直接理解二进制文件时,JRE的实际需求是什么?
  • 什么是openJDK?

2 个答案:

答案 0 :(得分:6)

enter image description here

我希望上面的图片能描述答案

来源:here

答案 1 :(得分:5)

Java Developer Kit(JDK)包含开发Java程序所需的工具, JRE 用于运行程序。这些工具包括编译器(javac.exe),Java应用程序启动器(java.exe),Appletviewer等。编译器将java代码转换为字节代码。 Java应用程序启动器打开一个JRE,加载该类,并调用其main方法。你需要JDK,如果你想编写自己的程序,并编译它们。对于运行java程序,JRE就足够了。

JRE的目标是执行Java文件。 即JRE = JVM + Java包类(如util,math,lang,awt,swing等)+运行时库。 JDK主要针对Java开发。

OpenJDK (Open Java Development Kit)是Java平台标准版(Java SE)的免费开源实现。

Just-In-Time (JIT)编译器是Java™运行时环境的一个组件,可在运行时提高Java应用程序的性能。

您可以获得整个概念图here