Java字节码(一)
发布日期:2021-06-28 18:55:01 浏览次数:2 分类:技术文章

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

一、什么是字节码:

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

 

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

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

 

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

 

三、根据指令性质分类

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

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

 

四、字节码文件结构

概况起来就是

Class文件头部

常量池区域

当前类的一些描述信息

属性列表

方法列表

attribute列表

 

五、总结:

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

转载地址:https://blog.csdn.net/xt00002003/article/details/114380721 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Java字节码(二)
下一篇:JVM 基础知识

发表评论

最新留言

很好
[***.229.124.182]2024年04月13日 02时24分09秒