为什么Java可以跨平台呢?为什么,什么是虚拟机阿?

2024-11-15 19:50:11
推荐回答(2个)
回答(1):

上面的解释不完全正确。
Java是一种先编译后解释的语言。javac命令可以将后缀名为.java的源文件编译成后缀名为.class的中间代码文件,注意这里不是汇编代码也不是机器代码,而是sun公司专为java开发的中间语言,虚拟机就是解析执行这种语言的虚拟CPU,对比物理执行机器语言。虚拟机跑在不同的软硬环境上,虚拟机负责将中间语言解析成机器语言或汇编语言交给CPU执行,它将各种不同的设备封装成统一的API,我们编的程序就能够在任何平台上无需重新编译便可执行了

回答(2):

因为java有个属于自己的运行环境,既:java虚拟机,虚拟机与平台无关,java代码经过编译后,直接运行于虚拟机上,实现了跨平台。