源代码和要加载到jvm中的字节码之间的区别?

时间:2019-05-15 10:11:45

标签: java jvm bytecode

每个Java开发人员都知道,首先使用Java语言,首先将源代码编译为字节码,然后jvm加载字节码以将其翻译为机器语言。 这意味着字节码不会直接执行。 好吧,但是要加载到jvm中的源代码和字节码之间有什么区别? 我的意思是,如果jvm将加载源代码 而不是字节码? 在python语言中,源代码是跨平台的。 python开发人员可以编译或解释其源代码。在任何情况下,源代码或字节代码都应转换为机器代码。现在,这是我的问题:要加载到jvm并转换成机器代码的源代码和字节代码有什么区别?

1 个答案:

答案 0 :(得分:0)

字节代码是介于源代码和由所谓的虚拟机执行的机器代码之间的中间代码。只要在该平台上实现虚拟机,字节代码就可以跨多个平台(硬件和操作系统的组合)移植。

源代码是根据编程语言规范编写的代码,可以进行编译或解释,并可以执行。人类可读的,可能跨平台也可能不是跨平台。