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

use*_*427 5 java jit jvm jdk1.6

请详细解释以下几点:

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

sti*_*ike 6

在此输入图像描述

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

来源:这里


NIN*_*OOP 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)的免费开源实现.

刚刚在实时(JIT)编译器是Java™运行时环境改善的Java应用程序在运行时性能的一个组成部分.

您可以在此处获取整个概念图.