JDK、JRE、JVM的关系

JDK

JDK:Java Development KIT,JAVA的运行开发工具包。需要编译代码时需要用到。JDK里包含了编译器等开发工具及JRE、JVM

JRE

JRE:Java Runtime Environment,JAVA运行环境。运行JAVA程序必不可少,只能运行程序代码,无法编译。JRE里包含了运行类库和JVM。

JRE与具体的CPU结构和操作系统有关,所以如果需要运行在不同的操作系统下,需要下载不同版本的JRE。

JVM

JVM:Java Virtual Machine,JAVA虚拟机。JAVA跨平台最核心的部分。不过光有JVM还无法解释.class文件,解释.class时,JVM会去JRE运行时类库中找到所需要的lib。

JVM有自己的指令集,它像一台实际的机器一样。JVM通过抽象操作系统和CPU结构,提供了一种与平台无关的代码执行方式。但在一些方面,JVM也会因为平台不同而在实现上有些许差别。JAVA所说的“Write Once, Run Anywhere“,主要就是依仗了JVM。

JVM不关心源文件,只关心.class文件(类文件)。类文件由JVM指令集、符号表及一些补助信息组成。

三者的关系

 

图片来源:https://blog.csdn.net/feilang00/article/details/100124462

 

JDK包含JRE,JRE包含JVM,如果需要编译代码,需要安装JDK,如果只需要运行JAVA程序,安装JRE即可,而不需要安装JDK,JVM则是解释、运行程序的核心,也是运行。

总结

如果我们需要编写开发代码、编译,需要安装JDK,如果不需要编译,只需要运行.class文件时,则不需要安装JDK,只需要安装JRE,而JVM是实现程序跨平台运行的核心。

参考

https://blog.csdn.net/cc5154722587/article/details/8617514

https://www.cnblogs.com/xiaofeixiang/p/4085159.html

https://blog.csdn.net/feilang00/article/details/100124462

原文地址:https://www.cnblogs.com/yinghuanblog/p/12844588.html