每个java开发人员都知道,在java语言中,首先将源代码编译成字节码,然后由jvm加载该字节码将其翻译成机器语言。这意味着字节码不是直接执行的。那么,加载到jvm中的源代码和字节码有什么不同呢?我的意思是,如果jvm加载源代码而不是字节码呢?在python语言中,源代码是跨平台的。python开发人员可以编译或解释他们的源代码。在任何情况下,源代码或字节码都应该转换为机器码。现在,这是我的问题:加载到jvm中以转换为机器码的源代码和字节码之间有什么区别?
发布于 2019-05-15 18:19:59
字节码是由所谓的虚拟机执行的源代码和机器代码之间的中间代码。这使得字节码可以跨多个平台(硬件和操作系统的组合)移植,只要该平台上实现了虚拟机。
源代码是根据编程语言规范编写的代码,可以编译或解释,并且可以执行。人类可读的,可能是也可能不是跨平台的。
https://stackoverflow.com/questions/56146823
复制相似问题