如果不能忠于自己的心,胜负又有什么价值呢?

说明

前面说到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 并不是一个开发环境,所以没有包含任何开发工具(如编译器和调试器)。

JDK(Java Development Kit)

JDK 是 Java 语言的软件开发工具包,是 Java 开发者所必须的内容,也就是我们之后要部署的东西,主要包含了各种类库和工具,当然也包含了一个JRE。

综上所述,JDK中包含有JRE,JRE中包含有JVM,所以JDK在手,天下我有【手动滑稽】。想要进行Java开发,就必须要部署JDK环境,但如果只是想要运行Java开发的软件,那么安装一个JRE就足够了。