机器码(machine code)和字节码(byte code)是什么?
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)是什么?相关推荐
- 小师妹学JVM之:java的字节码byte code简介
文章目录 简介 Byte Code的作用 查看Byte Code字节码 java Byte Code是怎么工作的 总结 简介 Byte Code也叫做字节码,是连接java源代码和JVM的桥梁,源代码 ...
- 定义入栈java_小师妹学JVM之:java的字节码byte code简介
简介 Byte Code也叫做字节码,是连接java源代码和JVM的桥梁,源代码编译成为字节码,而字节码又被加载进JVM中运行.字节码怎么生成,怎么查看字节码,隐藏在Byte Code背后的秘密是什么 ...
- 键盘的扫描码Scan Code,通码Make code,断码Break Code
http://bbs.chinaunix.net/thread-3609756-1-1.html [键盘的构造及历史] 对于键盘,如果想要表示某个按键,硬件上对应着某个点,有两种方法,一种是对于每个按 ...
- gray code java_格雷码Gray Code详解
格雷码简介 在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同,则称这种编码为格雷码(Gray Code),另外由于最大数与最小数之间也仅一位数不同,即"首尾相连",因此又 ...
- 汉信码(Hanxin Code)与QR码(QR Code)的终极对决
汉信码是"十五"期间中国物品编码中心主导开发出的不同于QR码的二维马码,主要针对汉字的编码方式进行了优化和扩展.但是从技术上讲与QR码的差别并不是很大,他们之间既有区别又有联系. ...
- 【Python】浅谈 字节码 + 虚拟机 (Python 解释器)
目录 一.绪论 二.说明 2.1 字节码编译 2.2 Python 虚拟机 (PVM) 2.3 性能意义 ☆ 2.4 开发意义 三.小结 一.绪论 Python 通常被描述为一种 解释型语言,在这类语 ...
- 尚硅谷 宋红康 JVM教程_02_字节码与类的加载篇
本系列相关链接 尚硅谷 宋红康 JVM教程_01_内存与垃圾回收篇--01 (20210103-20210110) https://blog.csdn.net/wei198621/article/de ...
- 【Java 虚拟机原理】Class 字节码二进制文件分析 六 ( 属性类型 | Code 属性 | 属性名称索引 | 属性长度 | 操作数栈最大深度 | 局部变量存储空间 | 字节码长度 )
文章目录 前言 一.属性类型 二.Code 属性表数据结构 三.属性名称索引 四.属性长度 五.操作数栈最大深度 六.局部变量存储空间 七.字节码长度 八.存储字节码指令的一系列字节流 前言 上一篇博 ...
- java字节码和机器码_字节码和机器码
字节码 字节码是一种中间码 字节码通常指的是已经经过编译,但与特定机器码无关,需要直译器转译后才能成为机器码的中间代码.字节码通常不像源码一样可以让人阅读,而是编码后的数值常量.引用.指令等构成的序列 ...
- Java虚拟机(JVM) - 字节码
一.什么是字节码? 1.字节码概述 Java 字节码是 Java 虚拟机的指令集.它的作用类似于汇编器,汇编器是 C++ 代码的别名表示.一旦编译了 java 程序,就会生成 java 字节码.用更恰 ...
最新文章
- word-ladder总结
- Python导入模块Import和from+Import区别
- android 获取连接WiFi的名称
- Linux SendMail服务启动慢总结
- 我今年89岁,刚刚拿了个物理学博士学位
- cuSPARSE库:(三)Thread Safety(线程安全)
- Extjs5.0 学习之路【资源篇】
- 【编程珠玑】第六章 程序性能分析
- 学python需要什么基础-学Python需要什么基础知识?零基础可以学Python吗?
- php utc时区设置,php DateTimeZone 设置UTC 无效
- 利用Windows server 2003 实现DHCP中继
- 汇编实现: C库常见函数,串操作指令作用
- Androidstudio加载工程很慢解决方案
- java常用的组件和框架总结
- 开设计算机专业设置问卷调查,计算机信息管理专业调查问卷 (1)
- 第20节 简单密码破解—基于windows系统
- Spark Streaming之容错性
- IDM如何设置深色模式
- C语言:输入10个整数,找出其中绝对值最小的数
- ibmt60升级linux,【原创】老兵不死,T60最强升级记