JVM、JRE、JDK三者之间的区别与联系

Jave SE Platform at a Glance

三者区别:

①JVM(Java Virtual Machine):Java虚拟机(用C语言写的),它只认识 xxx.class 这种类型的文件,它能够将 class 文件中的字节码指令进行识别并调用操作系统向上的 API 完成动作(即:加载.class文件并运行.class文件),故 JVM是 Java 能够跨平台的核心

②JRE(Java Runtime Environment):Java运行环境,它主要包含两个部分,JVM 的标准实现和 Java 的一些基本系统类库(即:运行Java程序所必须的环境)

③JDK(Java Development Kit):Java软件开发工具包(SDK),JDK是整个 Java 开发的核心,它集成了 JRE和一些开发Java程序所必须的命令工具(例如:javac.exe,java.exe,jar.exe 等);JDK安装成功后其目录下面有几个文件夹,其中起作用的是以下四个文件夹:bin、include、lib、 jre

三者关系(层层的嵌套关系):JDK>JRE>JVM

JRE = JVM + Java系统类库(LIB)
JDK = JRE + 编译运行等命令工具
运行java程序的最小环境是JRE
开发java程序的最小环境是JDK

附:
Java 能跨平台,实现一次编程多处运行的原因:
Java 能够跨平台运行的核心在于 JVM ,不是 Java 能够跨平台,而是它的 JVM 能够跨平台。
Java 引入了字节码(.class)的概念,JVM 只认识字节码,并将它们解释到系统的 API 调用,针对不同的系统有不同的 jvm 实现,有 Linux 版本的 jvm 实现,也有 Windows 版本的 jvm 实现,但是同一段代码在编译后的字节码是一样的,同一段字节码,在不同的 jvm 实现上会映射到不同系统的 API 调用,从而实现代码的不加修改即可跨平台运行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值