JVM、JRE、JDK之间的关系

1.是什么

        在Java编程中,JVM(Java虚拟机)、JRE(Java运行时环境)和JDK(Java开发工具包)是三个不同的概念,它们之间有紧密的联系,但各自承担不同的角色和功能。

   ·下面的例子中扮演的角色可能相同但是作用不同,注意区分!!!


JVM(Java Virtual Machine)

        定义:JVM是Java程序的运行环境,负责将Java字节码(.class文件)转换成平台相关的机器码(如Windows、Linux或macOS等系统的机器语言),使得Java程序能够在不同的操作系统上运行而无需修改。

        例子:想象你写了一本“烹饪书”(Java程序),这本书上的食谱(Java代码)是用一种通用语言写的,任何厨师(JVM)都能看懂并按照步骤操作。但是,不同的厨师(不同操作系统的JVM)可能需要使用不同的厨房设备(机器语言)来准备食材。JVM就充当了这个翻译的角色,确保无论在哪个厨房(操作系统),都能按照食谱(Java代码)做出相同的菜肴(程序功能)。


JRE(Java Runtime Environment,Java运行环境)

        定义:JRE包含了运行Java程序所必需的所有组件,包括JVM、Java平台核心类库(Java API)以及支持文件(如配置文件和启动器等)。简而言之,JRE是运行Java程序的完整环境。

        例子:如果你想要在家中举办一个晚宴(运行Java程序),你需要一个完整的厨房环境(JRE)。这个厨房包括了烤箱(JVM,用于执行烹饪操作)、烹饪用具(Java平台核心类库,提供基础的烹饪功能,如切割、加热等)、以及食谱和调料(支持文件)。


JDK(Java Development Kit,Java开发工具包)

        定义:JDK是Java程序开发者的工具箱,它包含了JRE以及用于开发Java应用程序的所有工具,如编译器(javac)、调试器(jdb)和其他用于创建和测试Java程序的工具。

        例子:作为一位厨师(Java开发者),你不仅需要一个厨房(JRE)来准备晚宴(运行Java程序),你还需要一个厨房工作台(JDK),上面摆放着各种烹饪工具(编译器、调试器等),这些工具能帮助你设计新食谱(编写Java代码),测试食材(调试程序),以及将食材变成美味佳肴(编译Java代码并运行)。


总结:

  • JVM 是Java程序运行的核心,它负责将Java字节码转换为可以在任何操作系统上执行的机器码。
  • JRE 提供了运行Java程序所需的一切,包括JVM和Java类库。
  • JDK 包含了JRE以及开发Java程序所需的工具,是Java开发者的必备工具箱。

        JDK=JRE+java开发工具(javac.exe、java.exe、javadoc.exe....)

        JRE=JVM+Java核心类库

        这三者之间的关系可以形象地理解为:JVM是引擎,JRE是车辆,而JDK是包含车辆和工具的工作坊。在开发阶段,你需要JDK;⽽在部署和运⾏阶段,你只需要JRE

参考图片:

        好啦,今天的干货就到这啦~  有什么建议或疑问欢迎到评论区留言!

猜你感兴趣的方面:

#你还能区分逻辑运算符吗?快来瞧瞧...

#i++是什么???

#什么是强制类型转换?

#自动类型转换有那些细节???

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值