2020-04-08 10:39发布
首先,Java可以直接编译为可以运行的机器码,通过graalvm的native image就可以实现。
但Java当年被设计出来的目的,就是为了不要让它直接编译成机器码,而是编译成虚拟机可执行的的字节码(byte code),从而达到write once, run everywhere的目的。
语言本身与是否是解释型或者编译型无关。通常,没有“必须这么设计”的绝对理由,之所以会是这样,只是因为被设计成这样。
Java的设计理念和C是有区别的:Java是被动让不同的设备兼容它,而C则是主动去兼容不同设备。
最多设置5个标签!
首先,Java可以直接编译为可以运行的机器码,通过graalvm的native image就可以实现。
但Java当年被设计出来的目的,就是为了不要让它直接编译成机器码,而是编译成虚拟机可执行的的字节码(byte code),从而达到write once, run everywhere的目的。
语言本身与是否是解释型或者编译型无关。通常,没有“必须这么设计”的绝对理由,之所以会是这样,只是因为被设计成这样。
Java的设计理念和C是有区别的:Java是被动让不同的设备兼容它,而C则是主动去兼容不同设备。
一周热门 更多>