博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java字节码(一)
阅读量:1826 次
发布时间:2019-04-25

本文共 575 字,大约阅读时间需要 1 分钟。

一、什么是字节码:

Java所有的指令有200个左右,一个字节(8位)可以存储256种不同的指令信息,一个这样的字节称为字节码(Bytecode)。字节码是由类型前缀和操作名称这两部分组成。

 

二、java字节码文件编码过程

在了解了字节码的含义之后,那么你是否想过一个问题,我们平时编写的是java文件,JVM运行的class文件,也就是字节码。一般这个转化IDE工具帮我们完成了,或者在命令行的情况下使用Javac命令进行编译。那么在整个编译过程经过了哪些步骤呢?如下图所示:

 

看到这里是否感觉比较眼熟呢。这里的步骤和编译器的翻译流程基本一致。在一层上也提现了知识的贯通性。越是底层的东西越是相互借鉴,想通的。

 

三、根据指令性质分类

按照指令性质可以由以下几种分类:

  • 栈操作指令,包括与局部变量交互的指令
  • 程序流程控制指令
  • 对象操作指令,包括方法调用指令
  • 算术运算以及类型转换指令

 

四、字节码文件结构

概况起来就是

Class文件头部

常量池区域

当前类的一些描述信息

属性列表

方法列表

attribute列表

 

五、总结:

字节码是真正运行在JVM上的命令,本文介绍了字节码的定义,以及从java文件到字节码的生成过程。介绍了指令的属性和字节码文件的结构。对字节码有一个初步的认识。在以后分析问题的时候多了一个方式来分析就是从最底层的字节码分析。

转载地址:http://aovkf.baihongyu.com/

你可能感兴趣的文章
【学习笔记】Linux下内存性能评估
查看>>
【学习笔记】Linux下磁盘IO性能评估
查看>>
python
查看>>
网络协议
查看>>
进程和线程
查看>>
sql面试题
查看>>
linux基础与调优
查看>>
软件缺陷基础
查看>>
软件测试-面试13问
查看>>
记一次django项目的部署
查看>>
测试项目调研
查看>>
接手软件测试新项目的流程
查看>>
python初学者入门学习笔记:数据结构列表
查看>>
华为入局 VR 眼镜能让 VR 早普及几年?|CSDN博文精选
查看>>
做好以下四点,拒做 “ 空心 ” 程序员 | CSDN 博文精选
查看>>
Java设计模式之状态模式
查看>>
C语言atol()函数:将字符串转换成long(长整型)
查看>>
C语言atof()函数:将字符串转换为double(双精度浮点数)
查看>>
jsp中标签意思
查看>>
煤球数目
查看>>