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

本文共 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 基础知识

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2024年04月16日 08时53分14秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

安卓前端开发!Android性能优化之APK优化,赶快收藏备战金九银十! 2019-04-29
安卓定制系统开发!这是一份面向Android开发者的复习指南,系列篇 2019-04-29
安卓客户端开发!如何试出一个Android开发者真正的水平?分享PDF高清版 2019-04-29
安卓平板app开发!实战讲述Flutter跨平台框架应用,附大厂真题面经 2019-04-29
安卓开发包!大佬手把手教你如何仿写出大厂的APP,含BATJM大厂 2019-04-29
Android事件分发机制及设计思路,先收藏了 2019-04-29
Android事件分发机制收藏这一篇就够了,不吃透都对不起自己 2019-04-29
Android内存泄漏总结,offer拿到手软 2019-04-29
Android内存泄漏总结,成功拿下大厂offer 2019-04-29
来看看移动端小程序技术的前世今生!讲的明明白白! 2019-04-29
来看看这份超全面的《Android面试题及解析》,大厂面经合集 2019-04-29
4面字节跳动拿到Offer,已拿到offer 2019-04-29
4面字节跳动拿到Offer,真香! 2019-04-29
4面阿里拿到P7Offer,赶紧收藏! 2019-04-29
6年老Android面经总结,大牛最佳总结 2019-04-29
7年老Android一次坑爹的面试经历,赶快收藏备战金九银十! 2019-04-29
Android-Camera内存问题剖析,小白也能看明白 2019-04-29
Android中为什么需要Handler?高级面试题+解析 2019-04-29
Android开发前景怎么样?覆盖所有面试知识点,大厂面经合集 2019-04-29
历史数据解决方案 2019-04-29