C和Java /虚拟机代码执行

535*_*34B 2 c java

我是Java的新手,我想知道为什么Java使用虚拟机(java程序)在编译之后执行代码(通过javac),而不像C.

nob*_*alG 5

JAVA是'随时随地运行'

检查链接,它将使您了解java工作的整个过程 当需要JVM运行时,Java平台独立如何? 在编译之后,代码实际上必须经历一个被称为的中间状态bytecode.然后,该字节码被JVM机器上的当前字节代码占用,然后被转换为机器可执行的形式.在此输入图像描述

JVM每一个不同的平台上是不同的,但是由编译器产生的字节码是相同everytime.The JVM执行的处理功能bytecode是通过在其上工作on.This平台理解的形式,并产生可执行代码的原因java被称为"Write Once Run Anywhere".