如果不能忠于自己的心,胜负又有什么价值呢?
说明
前面说到 Java 也有一个大工厂,可以让你随心所欲的创建想要创建的事物,但是想要使用这个工厂,还得先部署这个工厂,它就是 JDK 。
在此之前,先介绍几个概念:JVM、JRE、JDK。
JVM(Java Virtual Machine)
JVM 即 Java虚拟机,是 Java 这个大工厂中的熔炉,也是驱动这个工厂运行的核心组件。
Java 是能够跨平台运行的,也就是说,同样的代码可以不经修改的在 windows 系统、linux系统、mac系统上运行并得到相同的结果。
JVM 在这个过程中扮演着十分重要的角色,它就像一位翻译官,由它间接的与具体的系统打交道。不同系统有着不同的指令集,可以理解为有不同的语言和方言,但 JVM 这位翻译官精通各个系统的语言,可以将我们的代码翻译给系统去执行。 Java 代码被编译为 .class 文件后,由虚拟机将字节码文件解释成具体平台上的机器指令。
JVM 其实是一种规范,只要按这种规范设计的产品都可以叫做虚拟机,目前来说比较主流的虚拟机有,HotSpot、J9 VM、Zing VM。
JRE(Java Runtime Environment)
JRE 即 Java运行时环境,是运行 Java 程序必不可少的,既然是运行,自然要包含 JVM,同时还包含了 JVM 标准实现及 Java 核心类库,提供了 Java 运行时必要的基础信息。
光有 JVM 无法完成 class 的执行,因为在解释 class 的时候 JVM 需要调用解释所需要的类库 lib 。 可以这样理解,JVM 只是一名翻译官,还需要各个助理才能完成各项具体任务。
有了 JRE, Java 程序就能顺利的跑起来了,但 JRE 并不是一个开发环境,所以没有包含任何开发工具(如编译器和调试器)。
JDK(Java Development Kit)
JDK 是 Java 语言的软件开发工具包,是 Java 开发者所必须的内容,也就是我们之后要部署的东西,主要包含了各种类库和工具,当然也包含了一个 JRE。
小结
综上所述,JDK 中包含有 JRE ,JRE 中包含有 JVM ,所以 JDK 在手,天下我有【手动滑稽】。
想要进行 Java 开发,就必须要部署 JDK 环境,但如果只是想要运行 Java 开发的软件,那么安装一个JRE就足够了。
