热修复学习一:class文件和dex文件

如何生成一个class文件

class文件的作用

class文件格式详解

ClassFile 结构体

access_flags

constant_pool[ ]

class文件弊端

四、dex文件详解

什么是dex文件

如何生成一个dex文件

dex文件的作用

dex文件格式详解

dex文件头:

五、class文件和dex文件的异同:

六、必知必会


一、热修复

=====

热修复的使用:


目前市场上流行的两种方案,阿里系的和腾讯系的

热修复解决的问题:


  • 刚发布的应用就发现了比较严重的bug

  • 有一些小的功能想即时地推送给用户去使用

二、插件化

=====

插件化的使用:


比较有代表性有三家:

美团、淘宝和酷狗,其中美团和淘宝使用的是自己的方案,酷狗使用的是一个开源方案。

插件化解决的问题:


  • 解决应用越来越大所带来的各种技术限制,比如:方法数超过了65535的限制

  • 解决应用越来越大带来的合作开发问题

三、class文件详解

===========

什么是class文件


能够被JVM识别,加载并执行的文件格式

如何生成一个class文件


  • 通过IDE自动帮我们build

  • 手动通过javac(java compile Java编译)去生成class文件

  • 通过java命令执行class文件

class文件的作用


记录一个类文件的所有信息

class文件格式详解


  • 一种8位字节的二进制流文件

  • 各个数据按顺序紧密的排列,无间隙

  • 每个类或接口都单独占据一个class文件

[jdk源码解析(六)——类(class)文件结构](()

ClassFile 结构体

每一个 Class 文件对应于一个如下所示的 ClassFile 结构体。

![](https://img-blog.csdn.net/20171016123530473?watermark/2/text/aHR0cDovL2Jsb2cu 《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》无偿开源 徽信搜索公众号【编程进阶路】 Y3Nkbi5uZXQvc2luYXRfMzgyNTk1Mzk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)

ClassFile 结构体中,各项的含义描述如下:

1,无符号数,以u1、u2、u4、u8分别代表1个字节、2个字节、4个字节、8个字节的无符号数

2,表是由多个无符号数或者其它表作为数据项构成的复合数据类型,所以表都以“_info”结尾,由多个无符号数或其它表构成的复合数据类型

每个部分出现的次数和数量见下表:

access_flags

访问标志,access_flags 是一种掩码标志,用于表示某个类或者接口的访问权限及基础属性。access_flags 的取值范围和相应含义见表 4.1 所示。

constant_pool[ ]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值