欢迎您访问顾方软件工作室!【软件开发 小程序app开发 网站建设 百度推广】
当前位置:首页 > 技术文档 > 信息详情

浅谈JDK JRE JVM三者的区别

日期:2024-03-20 访问量:291 来源:顾方软件工作室

首先,我们分别对这三者进行阐述:

JVM :英文名称(Java Virtual Machine),就是我们耳熟能详的 Java 虚拟机。它只认识 xxx.class 这种类型的文件,它能够将 class 文件中的字节码指令进行识别并调用操作系统向上的 API 完成动作。所以说,jvm 是 Java 能够跨平台的核心,具体的下文会详细说明。




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


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


显然,这三者的关系是:一层层的嵌套关系。JDK>JRE>JVM。


而这三者的区别:

1.JDK和JRE区别:在bin文件夹下会发现,JDK有javac.exe而JRE里面没有,javac指令是用来将java文件编译成class文件的,这是开发者需要的,而用户(只需要运行的人)是不需要的。JDK还有jar.exe, javadoc.exe等等用于开发的可执行指令文件。这也证实了一个是开发环境,一个是运行环境。

2.JRE和JVM区别:JVM并不代表就可以执行class了,JVM执行.class还需要JRE下的lib类库的支持。


总结:

1.有JVM就可以解释执行字节码文件(.class).

2.JVM解释执行这些字节码文件的时候需要调用类库,如果没有这些类库JVM就不能正确的执行字节码文件,JVM+类库=JRE。

3.有了JRE就可以正确的执行java程序了,但是光有JRE不能开发Java程序,所以JRE+开发工具=JDK,有了JDK,就可同时开发,执行Java程序。

4.JRE只能运行已经编译好的字节码文件即后缀名为.class的文件。如果只安装了JRE,没有安装JDK,是不能运行源代码的,因为没有Java编译器,JRE无法获得.class文件。

关键词:JDK,JRE,JVM,三者的联系与区别