jdk、jre和jvm的关系

JDK是Java开发工具包,它提供了开发Java应用程序所需的工具和库。JDK包括JRE,以及用于编译、调试和运行Java代码的编译器(javac)、调试器(jdb)和其他开发工具。JDK还包含了Java标准类库和其他用于开发Java应用程序的工具。

JRE是Java运行时环境,它是Jav1a程序在计算机上运行所需的最小环境。JRE包括JVM以及Java类库和其他支持文件。当你在计算机上安装JRE时,你就能够运行Java应用程序,因为JRE提供了Java程序运行所需的所有组件。

JVM是Java虚拟机,它是Java程序运行的基础。JVM是一个虚拟的计算机,它可以执行Java字节码(Java源代码经过编译后生成的中间代码)。当你运行一个Java程序时,JVM会加载并执行字节码,并提供内存管理、垃圾回收和其他运行时环境支持。JVM的主要作用是提供了Java程序的跨平台性,使得Java程序可以在不同的操作系统上运行。

  • 我们利用JDK写了自己的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等等用于开发的可执行指令文件。这也证实了一个是开发环境,一个是运行环境。jdk是给开发人员使用的,jre和jvm是给普通用户使用。
  • JRE和JVM区别:JVM并不代表就可以执行class了,JVM执行.class还需要JRE下的lib类库的支持(rt.jar)

因此,可以总结如下:jdk>jre>jvm

  • JDK包含JRE,以及用于开发Java应用程序所需的工具和库。
  • JRE包含JVM,以及Java类库和其他支持文件。
  • JVM是Java程序运行的基础,它加载并执行Java字节码。

在Java开发中,通常需要安装JDK来进行开发,而在部署和运行Java应用程序时,只需要安装JRE即可。JDK提供了开发和调试工具,而JRE只提供了运行Java程序所需的环境。

你可能感兴趣的:(java,jvm,开发语言)