java语言为什么要先编译为字节码?
书上说,Java靠中间语言(Java字节码)实现了跨平台。一直不是很理解,既然Java语言在不同平台编译出的字节码都一样,再由虚拟机将字节码翻译为机器码,那为什么还需要先编译为字节码呢?实现跨平台不都是虚拟机的功劳吗?其实答案很简单——虚拟机读不懂Java程序。因为Java是高级语言,其语法和表达习惯遵循人类的思维习惯,但这不符合机器的思维,即使是虚拟机也不行。所以编译为字节码是JVM运行...