有Java编程经验的程序员应该都知道:Java程序是运行在JVM(Java虚拟机)上的,在开发程序之前都要配置Java开发环境,其中首先要做的就是JDK的安装和配置,那么JDK、JVM、JRE到底有何联系和区别呢?

参考链接:https://www.cnblogs.com/bingyimeiling/p/10266949.html

首先,我们分别对这三者做一个简单阐述介绍。

JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK)。它提供了编译、运行Java程序所需的各种工具和资源,包括Java编译器、Java运行时环境,以及常用的Java类库等。 在JDK的安装目录下有一个jre目录,如下图所示,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib合起来就称为jre。

         JDK的安装目录

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

下图是JRE的安装目录:里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib和起来就称为jre。

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

当使用Java编译器编译Java程序时,生成的是与平台无关的字节码,这些字节码只面向JVM。不同平台的JVM都是不同的,但它们都提供了相同的接口。JVM是Java程序跨平台的关键部分,只要为不同平台实现了相应的虚拟机,编译后的Java字节码就可以在该平台上运行。

可以看出:这三者的关系是一层层的嵌套关系。即JDK>JRE>JVM。

总结:

  1. JDK 用于开发,JRE 用于运行java程序 ;如果只是运行Java程序,可以只安装JRE,无序安装JDK。
  2. JDk包含JRE,JDK 和 JRE 中都包含 JVM。
  3. JVM 是 java 编程语言的核心并且具有平台独立性

标签智能推荐:

Java学习资源

Java学习资源:java菜鸟教程:https://www.runoob.com/java/java-tutorial.html框架:

frida构造map和list

varHashMap=Java.use('java.util.HashMap').$new();varArrayList=Java.use("java.util.ArrayList").$new();

Java 简介

Java简介 

在cmd里,java运行jar包中指定Class的命令

java-classpath****.jar****.****.className

java面试大全

java面试大全 

spring security oauth2

授权过滤器FilterSecurityInterceptor.java

开发工具-索引

java开发工具包Hutool-java开发工具包java开发脚手架eladmin-java开发脚手架jeecgboot-java开发脚手架