写在前面
知其然还得知其所以然
JDK: Java Development Kit
Java开发套件,是java开发的核心,包括提供编译、调试和运行Java程序的所有工具和JRE
JRE: Java Runtime Environment
Java运行时环境,包括 Java标准实现,Java核心类库和JVM
JVM: Java Virtual Machine
Java虚拟机,模拟计算机实现各种计算功能
注:图片来自https://www.cnblogs.com/mambahyw/p/7978832.html
联系: 包含关系, JDK 包括 JRE 包括 JVM
区别:JDK是开发工具包,JRE提供核心类库,JVM是Java编程的核心,编译后的java程序具有平台无关性
如何解释Java语言平台无关性?
套用一下我花了49大洋得到的小姐姐(https://blog.nowcoder.net/n/9162632eead545e885545328d25fff24)的总结:
1. JVM独立于OS和硬件;
2. JVM通过类加载器子系统将程序员编写的.java文件编译成与平台无关的字节码文件.class, 字节码文件经过字节码校验后提交给解释器解释执行;
3. Java规定基本数据类型的取值范围和行为在各个平台上保持一致
写在最后:
deidei