Java中的JKD、JRE和JVM之间的联系与区别

要了解JDK、JRE、JVM之前,首先要了解一下Java的三大平台

Java的三大平台

Java中的JKD、JRE和JVM之间的联系与区别Java中的JKD、JRE和JVM之间的联系与区别

① SE(J2SE),standard edition,标准版,是我们通常用的一个版

本,从JDK 5.0开始,改名为JavaSE。    

Java中的JKD、JRE和JVM之间的联系与区别

②EE(J2EE),enterprise edition,企业版,使用这种JDK开发J2EE应用程序,从JDK 5.0开始,改名为Java EE。

③ME(J2ME),micro edition,主要用于移动设备、嵌入式设备上的java应用程序,从JDK 5.0开始,改名为Java ME。

 

首先是JDK

JDK(Java Development Kit)是 Java语言的软件开发工具包(SDK)。在JDK的安装目录下有一个jre目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib合起来就称为jre。

JDK是整个JAVA的核心,包括了Java运行环境JRE(Java Runtime Envirnment)、一堆Java工具(javac/java/jdb等)和Java基础的类库。

 

然后我们来看JRE

JRE(Java Runtime Environment,Java运行环境),包含JVM标准实现及Java核心类库。JRE是Java运行环境,并不是一个开发环境,所以没有包含任何开发工具(如编译器和调试器)JDK是面向开发者的,JRE是面向使用JAVA程序的用户

最后是JVM

JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。

Java中的JKD、JRE和JVM之间的联系与区别

由上图一目了然:

JDK是整个Java的核心,包括了Java运行环境JRE、Java工具和Java基础类库。JRE是运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。JVM是整个java实现跨平台的最核心的部分,能够运行以Java语言写的程序。

 本文章是整理自网上的多种解答加上自己的理解,部分图片来自于老九学堂。欢迎各位大神指错

--八戒