加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 我对JDK,JRE和JVM的理解

发布时间:2020-12-15 05:02:50 所属栏目:Java 来源:网络整理
导读:经过深入分析,这是我对JDK,JRE和JVM的理解. 如果我错了请纠正我… JVM是JRE的子集,JRE是JDK的子集. JVM用于通过使用JRE将字节代码(* .class)转换为目标代码(机器代码). JRE具有操作系统(OS)指定DLL,JVM使用该字节代码进行对象代码转换. 如果明天假设任何新操
经过深入分析,这是我对JDK,JRE和JVM的理解.
如果我错了请纠正我…

> JVM是JRE的子集,JRE是JDK的子集.
> JVM用于通过使用JRE将字节代码(* .class)转换为目标代码(机器代码).
> JRE具有操作系统(OS)指定DLL,JVM使用该字节代码进行对象代码转换.
>如果明天假设任何新操作系统将启动,则当前可用的JRE可能不支持JVM以获取字节代码以进行机器代码转换.因此,JRE可能需要增强对新即将推出的操作系统的支持.
>所以从上面我的分析我得出的结论就像JVM对于所有操作系统都是通用的,但是JRE具有操作系统特定的DLL,JVM将在字节代码中使用它来进行目标代码转换.

解决方法

JVM是虚拟的,您可以将其视为虚拟计算机,其机器代码是 Java字节码.它不是真正的计算机,而是可以执行Java字节码指令的虚拟计算机.

JRE是JVM实现.该实现是特定于操作系统的(当然),但它提供独立于操作系统的外部接口(意味着您可以在Windows JRE和Linux JRE上运行相同的Java代码).从90年代后期开始,这就是“一次编写一次运行”的事情.

JDK是编写Java代码所需的编译器,JRE,其他工具和所有Java API.

我不想将Android及其Dalvik VM添加到图片中(虽然我可以画出一些有趣的相似之处),因为我会更加困惑你.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读