如果不能忠于自己的心,胜负又有什么价值呢?
说明
前面说到 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就足够了。