1、机器码(machine code)

机器码(machine code),学名机器语言指令,有时也被称为原生码(Native Code),是电脑的CPU可直接解读的数据(计算机只认识0和1)。

通常意义上来理解的话,机器码就是计算机可以直接执行,并且执行速度最快的代码。

机器语言编写程序,编程人员要首先熟记所用计算机的全部指令代码和代码的涵义。手编程序时,程序员得自己处理每条指令和每一数据的存储分配和输入输出,还得记住编程过程中每步所使用的工作单元处在何种状态。除了计算机生产厂家的专业人员外,绝大多数的程序员已经不再去学习机器语言了。

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

2、字节码(byte code)

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

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

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

字节码的典型应用为Java bytecode
字节码在运行时通过JVM(JAVA虚拟机)做一次转换生成机器指令,因此能够更好的跨平台运行。

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

机器码(machine code)和字节码(byte code)是什么?相关推荐

  1. 小师妹学JVM之:java的字节码byte code简介

    文章目录 简介 Byte Code的作用 查看Byte Code字节码 java Byte Code是怎么工作的 总结 简介 Byte Code也叫做字节码,是连接java源代码和JVM的桥梁,源代码 ...

  2. 定义入栈java_小师妹学JVM之:java的字节码byte code简介

    简介 Byte Code也叫做字节码,是连接java源代码和JVM的桥梁,源代码编译成为字节码,而字节码又被加载进JVM中运行.字节码怎么生成,怎么查看字节码,隐藏在Byte Code背后的秘密是什么 ...

  3. 键盘的扫描码Scan Code,通码Make code,断码Break Code

    http://bbs.chinaunix.net/thread-3609756-1-1.html [键盘的构造及历史] 对于键盘,如果想要表示某个按键,硬件上对应着某个点,有两种方法,一种是对于每个按 ...

  4. gray code java_格雷码Gray Code详解

    格雷码简介 在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同,则称这种编码为格雷码(Gray Code),另外由于最大数与最小数之间也仅一位数不同,即"首尾相连",因此又 ...

  5. 汉信码(Hanxin Code)与QR码(QR Code)的终极对决

    汉信码是"十五"期间中国物品编码中心主导开发出的不同于QR码的二维马码,主要针对汉字的编码方式进行了优化和扩展.但是从技术上讲与QR码的差别并不是很大,他们之间既有区别又有联系. ...

  6. 【Python】浅谈 字节码 + 虚拟机 (Python 解释器)

    目录 一.绪论 二.说明 2.1 字节码编译 2.2 Python 虚拟机 (PVM) 2.3 性能意义 ☆ 2.4 开发意义 三.小结 一.绪论 Python 通常被描述为一种 解释型语言,在这类语 ...

  7. 尚硅谷 宋红康 JVM教程_02_字节码与类的加载篇

    本系列相关链接 尚硅谷 宋红康 JVM教程_01_内存与垃圾回收篇--01 (20210103-20210110) https://blog.csdn.net/wei198621/article/de ...

  8. 【Java 虚拟机原理】Class 字节码二进制文件分析 六 ( 属性类型 | Code 属性 | 属性名称索引 | 属性长度 | 操作数栈最大深度 | 局部变量存储空间 | 字节码长度 )

    文章目录 前言 一.属性类型 二.Code 属性表数据结构 三.属性名称索引 四.属性长度 五.操作数栈最大深度 六.局部变量存储空间 七.字节码长度 八.存储字节码指令的一系列字节流 前言 上一篇博 ...

  9. java字节码和机器码_字节码和机器码

    字节码 字节码是一种中间码 字节码通常指的是已经经过编译,但与特定机器码无关,需要直译器转译后才能成为机器码的中间代码.字节码通常不像源码一样可以让人阅读,而是编码后的数值常量.引用.指令等构成的序列 ...

  10. Java虚拟机(JVM) - 字节码

    一.什么是字节码? 1.字节码概述 Java 字节码是 Java 虚拟机的指令集.它的作用类似于汇编器,汇编器是 C++ 代码的别名表示.一旦编译了 java 程序,就会生成 java 字节码.用更恰 ...

最新文章

  1. word-ladder总结
  2. Python导入模块Import和from+Import区别
  3. android 获取连接WiFi的名称
  4. Linux SendMail服务启动慢总结
  5. 我今年89岁,刚刚拿了个物理学博士学位
  6. cuSPARSE库:(三)Thread Safety(线程安全)
  7. Extjs5.0 学习之路【资源篇】
  8. 【编程珠玑】第六章 程序性能分析
  9. 学python需要什么基础-学Python需要什么基础知识?零基础可以学Python吗?
  10. php utc时区设置,php DateTimeZone 设置UTC 无效
  11. 利用Windows server 2003 实现DHCP中继
  12. 汇编实现: C库常见函数,串操作指令作用
  13. Androidstudio加载工程很慢解决方案
  14. java常用的组件和框架总结
  15. 开设计算机专业设置问卷调查,计算机信息管理专业调查问卷 (1)
  16. 第20节 简单密码破解—基于windows系统
  17. Spark Streaming之容错性
  18. IDM如何设置深色模式
  19. C语言:输入10个整数,找出其中绝对值最小的数
  20. ibmt60升级linux,【原创】老兵不死,T60最强升级记

热门文章

  1. BDTC2016: 中航信 昆仑数据 兮易控股 宝信议题公布
  2. TCP报文段和连接方式
  3. 顺序表的十个基本操作(全)
  4. rollup函数(分组后对每组数据分别合计)
  5. 梅特勒托利多xk3124电子秤说明书_梅特勒托利多电子秤校正标定方法
  6. 【PCBA方案】咖啡电子秤芯片方案介绍
  7. java 开发技术,Java 后端开发技术有哪些?
  8. 单点登录 cas 设置回调地址_单点登录终极方案之 CAS 应用及原理
  9. css -- 背景图片自适应屏幕大小
  10. 北斗心脏——高精度时间频率系统