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

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,但是在所有操作系统上执行字节码后它们产生的输出都是相同的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容