请详细说明以下几点:
- JDK是否包含JRE?
- JDK将.java转换为.class,然后JVM理解.class并转换为二进制,那么当OS可以直接理解二进制时,JRE的实际需求是什么?
- 什么是 openJDK?
我希望上面的图片能描述答案
来源:这里
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 应用程序在运行时的性能。
你可以在这里得到整个概念图。