2.Java虚拟机(JVM),差异JDK,JRE和JVM –核心

2019-12-10  本文已影响0人  编码的笨笨

Java是一种高级编程语言。用高级语言编写的程序不能直接在任何计算机上运行。首先,需要将其翻译成特定的机器语言。由javac编译器做这件事情,它需要的Java程序文件(含有的.java文件源代码)并将其转换成机器代码(称为字节码或.class文件)。

Java虚拟机(JVM)是​​驻留在真实计算机(您的计算机)中的虚拟机,并且JVM机器语言是字节码。这使编译器更容易,因为它必须为JVM生成字节代码,而不是为每种类型的机器生成不同的机器代码。JVM执行编译器生成的字节码并产生输出。JVM是使Java平台独立的一种

因此,现在我们了解到,JVM的主要功能是执行编译器生成的字节码。每个操作系统都有不同的JVM,但是在所有操作系统上执行字节码后它们产生的输出都是相同的。这意味着Windows上生成的字节码可以在Mac OS上运行,反之亦然。这就是为什么我们称Java为平台独立语言。在下图中可以看到相同的内容:

image.png

因此,总结一下所有内容: Java虚拟机(JVM)是​​在实际计算机(您的计算机)上运行并执行Java字节码的虚拟机。JVM无法理解Java源代码,这就是为什么我们需要javac编译器来编译* .java文件以获得* .class文件,其中包含了JVM理解的字节码。JVM使Java可移植(可编写一次,可在任何地方运行)。每个操作系统都有不同的JVM,但是在所有操作系统上执行字节码后它们产生的输出都是相同的。

上一篇 下一篇

猜你喜欢

热点阅读