JDK,JRE,JVM之间的关系,向来是讨论非常,小编也稍微整理了一下他们之间的关系,希望能够对大家有所帮助
首先从oracle官网上,可以很清晰的看明白JDK,JRE和Java Virtual Machine之间的关系,官网的介绍如下
地址:https://docs.oracle.com/javase/8/docs/
Oracle has two products that implement Java Platform Standard Edition (Java SE) 8: Java SE Development Kit (JDK) 8 and Java SE Runtime Environment (JRE) 8.
JDK 8 is a superset of JRE 8, and contains everything that is in JRE 8, plus tools such as the compilers and debuggers necessary for developing applets and applications. JRE 8 provides the libraries, the Java Virtual Machine (JVM), and other components to run applets and applications written in the Java programming language. Note that the JRE includes components not required by the Java SE specification, including both standard and non-standard Java components.
The following conceptual diagram illustrates the components of Oracle's Java SE products:
Description of Java Conceptual Diagram
Oracle有两种实现Java Platform Standard Edition(Java SE)8的产品:Java SE Development Kit(JDK)8和Java SE Runtime Environment(JRE)8。
JDK 8是JRE 8的超集,包含JRE 8中的所有内容,以及开发小程序和应用程序所需的工具,例如编译器和调试器。JRE 8提供了库,Java虚拟机(JVM)和其他组件,以运行用Java编程语言编写的小程序和应用程序。请注意,JRE包含Java SE规范不需要的组件,包括标准和非标准Java组件。
以下概念图说明了Oracle Java SE产品的组件:
而我们知道,软件是跑在操作系统上的,而软件的目的是通过电子化简化生活中的某个场景的工作,提升效率,所以一些开发工具中会集成Java的运行环境和相关工具,在讨论JDK,JRE,JVM之间的关系这个话题的时候,有几个需要了解常用概念,详情如下:
- 常用操作系统:Windows,Linux,Unix,红旗,ubuntu,Fedora,Debian,苹果操作系统,当然,可能我们最常用到的就是Windows系统和Linux系统了
- 常用IDE环境:【Integrated Development Environment】也可以理解是开发工具 JBuilder,Eclipse,MyEclipse,IntelliJ IDEA,...
- JDK: 【Java Development Kid Java开发工具包】,这是提供给Java开发人员的产品,是整个Java的核心所在,包括Java运行环境JRE,Java工具和基础类库【javac,jar,debugging tools javap】
- JRE:【Java Runtime Environment Java运行时环境】,是运行 JAVA 程序所必须的环境的集合,包含 JVM 标准实现及 Java 核心类库。【java,javaw,libraries,rt.jar】
- JVM:【Java Virtual Machine Java虚拟机】:这是 Java 实现跨平台最核心的部分,支持运行 Java程序。
- JIT:【Just In Time Compiler 即时编译器】
所以最后结合操作系统,开发工具,最终的结论如图所示: