首页 > 为什么说字节码比机器码更抽象?

为什么说字节码比机器码更抽象?

不是很清楚字节码和机器码的区别,请热心人士指点。


PHP7 Source Code => AST => Opcode => Zend Engine
Java Source Code => Java Compiler => Bytecode  => JVM(JIT) => Native Code
C#   Source Code => C# Compiler   => MSIL Code => CLR(JIT) => Native Code

字节码 本质上允许语言脱离对具体机器指令的依赖,是对机器码的抽象。所以更抽象


我修改一下
应该是这样理解
提出一个问题 然后用程序解决这个问题
这里 程序应该是更 具象的 问题 更抽象

所以 LZ的问题就明白了


首先所谓抽象:抽出象的部分,而字节码是经过编译器即javac编译源代码得来,而使用的时候是:每次运行都会解释,所以字节码类似一个类,而机器码是实例,这是我的解释。


所有的抽象是指更高一级。.class文件这种字节码显然想对 与 010101那种机器码更加高级,也就是说要抽象一些。


引用quora, 这个够形象不?

 JAVA    
   |
字节码
   |
机器码
   |
硬件-CPU

看不懂英文,我可以给你翻译一下。

【热门文章】
【热门文章】