深入了解JDK\JVM\JRE的重要性
许多书籍对于对于JDK\JVM\JRE的说明,通常只用了极短的篇幅介绍,而对于初学者而言更是处于急功近利的一种状态,因此也不愿意深入理解它们并且区分它们之间的关联。
这么做的结果就是Java基础不牢固导致后续能力提高到达一种瓶颈的状态无法突破。
什么是JVM
对于计算机而言,只认识一种语言,就是0、1序列组成的机器指令。当使用JAVA或者C语言等这些高级程序语言时,人类通过一定学习可以掌握了解这种语言,但计算机无法认识,因此为了将这些高级程序语言翻译为计算机识别的0、1序列的计算指令,就必须有个翻译员。 担任翻译工作就是编译程序。
但是问题在于,每个平台认识的0、1序列不一样,在Windows也许是0101.但在Linux下也许是1010,因此必须使用不同的编译程序为不同的平台编译可执行的机器码,无法达到编译一次到处执行。
Java语言不同于其他语言并不是直接编译为相依于某平台的机器码,而是编译为中介格式的位码。Java原始码扩展名为.java,经过编译程序扩展名为.class的位码,如果想要执行位码文档,目标平台必须安装JVM。JVM将位码翻译为相依于平台的机器码。不同的平台必须安装专属该平台的JVM。
除了了解JVM具有让JAVA程序跨平台的作用,还有一个认知就是JVM是JAVA唯一认识的一个操作平台。
什么是JRE
JRE就是Java执行环境的全称,包括Java SE API和JVM,使用Java SE API中的链接库可以有JRE直接提供。
什么是JDK
.java编译为.class文档就是由JDK工具程序提供的。JDK包括Java程序语言、工具程序、JRE,JRE又包括部署技术、Java se api 和jvm