JVM、JRE、JDK究竟是什么东西?三者之间又有什么关系?

咱们还是先从他们的英文名字入手吧。

一、定义

1.JVM,java virtual machine,翻译过来就是“Java虚拟机”,这个概念十分重要,基础知识。但目前段位不够,先不在这里纠结,但后面对这个难免还有很深入的拿捏。
image.png
大概知道原理:编译器把哥哥开发的.java文件编译成.class文件后,后面就由Java虚拟机来操作了,把机器才能读得懂的.class文件解释为我们能看得懂的效果,并且这玩意不管你放在哪个操作系统下,都能运行起来。
知识点:一次编译,到处运行。

2.JRE,Java Runtime Environment,翻译过来就是“Java运行环境”,既然是环境级别的,刚才讲到的JVM也是包含在内的,除此之外,还有一些Java的核心类库。也就是这个玩意是用来“跑”程序的,不是用来“开发”程序的;如果要开发程序,就得JDK出场了。

3.JDK, Java development kit,翻译过来是“Java 开发工具箱”,相当于是一个武器库,里面不仅包含上面说的“跑程序”的工具,还包括各种开发要用上的类库和编译工具,应有尽有。

问题:JDK跟SDK的关系?

二、三者关系

02 初识:JVM、JRE、JDK - 图2