机器码和字节码分别介绍

什么是机器码程序员

什么是机器码编程

机器码(machine code),学名机器语言指令,有时也被称为原生码(Native Code),是电脑的CPU可直接解读的数据学习

一般意义上来理解的话,机器码就是计算机能够直接执行,而且执行速度最快的代码。编码

用机器语言编写程序,编程人员要首先熟记所用计算机的所有指令代码和代码的涵义。手编程序时,程序员得本身处理每条指令和每一数据的存储分配和输入输出,还得记住编程过程当中每步所使用的工做单元处在何种状态。这是一件十分繁琐的工做,编写程序花费的时间每每是实际运行时间的几十倍或几百倍。并且,编出的程序全是些0和1的指令代码,直观性差,还容易出错。如今,除了计算机生产厂家的专业人员外,绝大多数的程序员已经再也不去学习机器语言了。code

  • 机器语言是微处理器理解和使用的,用于控制它的操做二进制代码。
  • 8086到Pentium的机器语言指令长度能够从1字节到13字节。
  • 尽管机器语言好像是很复杂的,然而它是有规律的。
  • 存在着多至100000种机器语言的指令。这意味着不能把这些种类所有列出来。

总结:机器码是电脑CPU直接读取运行的机器指令,运行速度最快,可是很是晦涩难懂,也比较难编写,通常从业人员接触不到。编译器

什么是字节码源码

字节码虚拟机

字节码(Bytecode)是一种包含执行程序、由一序列 op 代码/数据对 组成的二进制文件字节码是一种中间码,它比机器码更抽象,须要直译器转译后才能成为机器码的中间代码。编译

一般状况下它是已经通过编译,但与特定机器码无关。字节码一般不像源码同样可让人阅读,而是编码后的数值常量、引用、指令等构成的序列。软件

字节码主要为了实现特定软件运行和软件环境、与硬件环境无关。字节码的实现方式是经过编译器和虚拟机器。编译器将源码编译成字节码,特定平台上的虚拟机器将字节码转译为能够直接执行的指令。字节码的典型应用为Java bytecode。

字节码在运行时经过JVM(JAVA虚拟机)作一次转换生成机器指令,所以可以更好的跨平台运行。

总结:字节码是一种中间状态(中间码)的二进制代码(文件)。须要直译器转译后才能成为机器码。

相关文章
相关标签/搜索