先上图片,首先要大致理解JDK包含JRE,JRE包含JVM。
|————编译开发工具等
|
JDK ———|
| |————Java类库
|————JRE ——|
|————JVM
(图略糙)如果是刚刚学习Java,简单了解三者关系就够了。当你Java学习得足够深入时,不妨再重新看一下三者的概念,拼凑Java知识碎片,Java的整体在你心里轮廓会更清晰更完整。
JVM
Java虚拟机(JVM)是运行Java字节码的虚拟机,JVM有针对不同系统的特定实现,目的是使用相同的字节码,它们都会给出相同的结果。字节码和不同系统的JVM是实现“一次编译,随处运行”的关键所在。
另外,JVM并不是只有一种!只要满足JVM规范,每个公司、组织或个人都可以开发自己专属的JVM。也就是说我们平时多接触的HotSpot VM仅仅是JVM规范的一种实现而已。
JDK
JDK是Java Development Kit的缩写,它是功能齐全的Java SDK。它拥有JRE所拥有的一切,还有编译器(Javac)和工具等。它能够创建和编译程序。
JRE
JRE是Java运行时环境。它是运行已编译Java程序所需的所有内容的集合,包括Java虚拟机(JVM),Java类库,Java命令和其他的一些基础构件,但是它不能创建程序。
如果你只是为了运行一下Java程序的话,那么你只需要安装JRE就可以了。如果你需要进行一些Java编程方面的工作,那么你就需要安装JDK了。