JVM、JRE、JDK三者之间的关系

JVM、JRE和JDK是与Java开发和运行相关的三个重要概念。

再了解三者之前让我们先来了解下java源文件的执行顺序:

  1. 使用编辑器或IDE(集成开发环境)编写Java源文件.即demo.java
  2. 程序必须编译为字节码文件,javac(Java编译器)编译源文件为demo.class文件.
  3. 类文件可在任何平台/操作系统上由JVM(Java虚拟机)执行(能一次编译,到处运行就是因为JVM)。
  4. JVM将字节码文件翻译为机器可以执行的机器码(0,1二进制)。

一、JVM

JVM(Java Virtual Machine,Java虚拟机): JVM是Java程序运行的环境,它是Java平台的核心组成部分。它负责解释并执行Java字节码(由Java源代码编译而成),提供了对硬件和操作系统的抽象,使得Java程序可以在不同的系统上运行。JVM还提供了垃圾回收、内存管理、安全性等功能,以确保Java程序的可靠性和安全性。JVM之所以称为虚拟机,是因为它提供了一个不依赖于底层操作系统和机器硬件体系结构的机器接口,在执行字节码时,把字节码解释成具体平台上的机器指令执行。所以java可以一次编写到处运行。

二、JRE(运行环境)

JRE(Java Runtime Environment,Java运行时环境): JRE是Java应用程序的运行时环境,它包含了JVM以及Java基础类库和所需的运行时资源。光有JVM还不能成class的执行,因为在解释class的时候JVM需要调用解释所需要的类库lib。JRE提供了Java程序运行所需的一切,包括类加载、字节码解释、垃圾回收等功能。如果只需要运行Java应用程序而不需要进行开发,只需安装JRE即可。

三、JDK(开发环境)

JDK(Java Development Kit,Java开发工具包): JDK是用于开发Java应用程序的工具包,它包含了JRE以及编译器、调试器、开发工具和其他一些辅助工具。JDK提供了开发Java应用程序所需的一切,包括编译、调试、文档生成、性能分析等工具。如果需要进行Java应用程序的开发,需要安装JDK。

区别:

  • JVM是Java程序运行的虚拟机,提供了对字节码的解释和执行。
  • JRE是Java应用程序的运行时环境,包含了JVM和运行时所需的类库等资源。
  • JDK是用于开发Java应用程序的工具包,包含了JRE以及开发工具、编译器等。

简而言之,JVM负责运行Java程序,JRE提供运行Java程序所需的一切,而JDK是开发Java程序所需的工具包。

JVM<JRE<JDK。

相关推荐
kill bert9 分钟前
Java八股文背诵 第四天JVM
java·开发语言·jvm
低头专研2 小时前
Markdown标题序号处理工具——用 C 语言实现
c语言·开发语言·typora·markdown文件标题编号·md文件标题序号
刚入门的大一新生3 小时前
C++初阶-C++入门基础
开发语言·c++
你是理想3 小时前
wait 和notify ,notifyAll,sleep
java·开发语言·jvm
helloworld工程师4 小时前
【微服务】SpringBoot整合LangChain4j 操作AI大模型实战详解
java·eclipse·tomcat·maven
Java&Develop4 小时前
idea里面不能运行 node 命令 cmd 里面可以运行咋回事啊
java·ide·intellij-idea
forestsea4 小时前
Python进阶编程总结
开发语言·python·notepad++
q567315234 小时前
使用Java的HttpClient实现文件下载器
java·开发语言·爬虫·scrapy
你们补药再卷啦4 小时前
不用额外下载jar包,idea快速查看使用的组件源码
java·ide·intellij-idea
六bring个六5 小时前
QT上位机笔记
开发语言·笔记·qt