彻底搞懂JDK、JRE、JVM三者间的关系

JVM :英文名称(Java Virtual Machine)Java 虚拟机。它的作用是识别xxx.class 类型的文件,并将 class 文件中的字节码指令进行识别并调用操作系统向上的 API 完成动作。

JRE :英文名称(Java Runtime Environment)Java 运行时环境。它主要包含两个部分,jvm 和 Java 的一些基本类库。它比 jvm 多一部分的 Java 类库。

JDK :英文名称(Java Development Kit)Java 开发工具包。jdk 是整个 Java 开发的核心,它包含jre 和一些好用的小工具。例如:javac.exe,java.exe,jar.exe 等。

三者的关系是JDK包含JRE包含JVM

困惑一:为什么jdk里面有jre,外面还有jre?

两个jre之间没有关系,甚至可以说是一样的,jre 既提供了这些工具的运行环境,也提供了我们编写完成的 Java 程序的运行环境。

困惑二:jvm 为什么是 Java 能够跨平台的核心?

Java运行步骤:源码—javac编译器—>字节码文件—Java解释器—>机器码文件

jvm的作用是将字节码文件解释为机器码文件。

源码通过javac编译器转化为字节码文件,字节码文件是一样的。不一样的是jvm,针对不同的系统有不同的 jvm 实现,有 Linux 版本的 jvm 实现,也有 Windows 版本的 jvm 实现,不同的 jvm 实现上会映射到不同系统的 API 调用,从而实现代码的不加修改即可跨平台运行。也就是一块布,做裤子的拿来可以做裤子,做上衣的可以拿来做上衣。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值