JDK JRE JVM

JDK

JDK:Java Development Kit,Java 开发工具包。jdk 是整个 Java 开发的核心,它集成了 jre 和一些好用的小工具。例如:javac,java,javadoc,jar 等。

JRE

JRE:Java Runtime Environment,Java 运行时环境,主要包含两个部分,jvm 的标准实现和 Java 的一些基本类库。它相对于 jvm 来说,多出来一部分的 Java 类库。

JVM

JVM:JAVA Virtual Machine,jvm 是 Java 能够跨平台的核心,实现一次编写,多处运行(write once,run anywhere)

三者关系可用如下图表示(图片转自公众号:狂神说):

 

 

JDK、JRE、JVM区别与联系

这三者的关系是:一层层的包含关系。JDK>JRE>JVM

在JDK下面的的jre目录里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib和起来就称为jre。JVM+Lib=JRE。总体来说就是,我们利用JDK(调用JAVA API)开发了JAVA程序后,通过JDK中的编译程序(javac)将我们的文本java文件编译成JAVA字节码,在JRE上运行这些JAVA字节码,JVM解析这些字节码,映射到CPU指令集或OS的系统调用。

区别: JDK和JRE一个是开发环境,一个是运行环境。在bin文件夹下会发现,JDK有javac.exe而JRE里面没有,javac指令是用来将java文件编译成class文件的,这是开发者需要的,而用户(只需要运行的人)是不需要的。JDK还有jar.exe, javadoc.exe等等用于开发的可执行指令文件。 JVM不能单独搞定class的执行,解释class的时候JVM需要调用解释所需要的类库lib。

posted @ 2022-07-20 14:02  吹吹风喝喝酒  阅读(20)  评论(0编辑  收藏  举报