java - C 和 Java/虚拟机代码执行

标签 java c

我对 Java 相当陌生,我想知道为什么 Java 与 C 不同,在编译(由 javac)后使用虚拟机(java 程序)来执行代码。

最佳答案

JAVA 是“一次编写,随处运行”

查看链接,让你清楚java工作的整个过程 How is Java platform-independent when it needs a JVM to run? 编译后,代码实际上必须经历一个中间状态,称为bytecode .然后该字节码被 JVM 占用存在于机器上,然后转换为机器可执行的形式。 enter image description here

JVM每个不同的平台都不同,但是编译器每次生成的字节码都是相同的。 JVM执行处理 bytecode 的功能并以您正在使用的平台所理解的形式生成可执行代码。这就是 java 被称为 "Write Once Run Anywhere". 的原因。

关于java - C 和 Java/虚拟机代码执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21810538/

相关文章:

java - 在客户端服务器游戏中通过网络发送文件

java - 路径变量未保持设置状态

控制台立即消失

c++ - 对链表使用 list<type> 和指针(经典 C)之间的区别

c - 了解包含自身类型指针的结构

java - 如何将位图转换为 View ?

Java:简单的数组分割程序

java - java应用程序存储上传文件的最佳方式

c - C中如何确定单独整数的顺序?

将枚举错误代码转换为字符串