为什么需要虚拟机来执行java程序? [复制]

2024-01-04

为什么Java代码通过JVM运行(java代码->字节代码->机器代码)。为什么它不能像“C”一样直接编译为本机代码。


使Java代码平台无关。

Updated
如果 C 程序在特定平台上编译,那么它将生成只能在编译它的平台上运行的编译代码。在 Windows 机器上编译的 C 程序不能在 Linux/Unix/MacOS 机器上运行。

Java 的主要设计目标之一是使代码与平台无关。 这是通过在代码编译和代码执行之间添加额外的步骤来实现的。这就是生成“字节码”的步骤。

将 Java 程序编译成所谓的“字节码”文件,其扩展名为.class。字节码实际上包含了Java虚拟机可以解释的指令。也就是说javac将Java程序转换成JVM可以理解的一组指令。

JVM - Java 虚拟机,运行在操作系统之上,并为每个平台(操作系统和底层硬件)单独实现。

通过这种设计,可以在Windows机器上编译Java程序并在Linux机器上运行生成的.class文件,从而实现平台无关性。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么需要虚拟机来执行java程序? [复制] 的相关文章

随机推荐