之前的文章提到:插件化是一种技术

通过本文学习插件化就能明白面试官让我们背诵八股文的良苦用心啦。

学习插件化之前,你需要了解以下知识点:

  1. class文件和dex文件的区别与联系,以及其解析过程。
  2. JVM和Davick虚拟机的相关内容。
  3. ClassLoader的相关知识。

# class文件

class文件的作用是记录一个类文件的所有信息,远超于Java源代码中的信息。

class文件使用8位字节的二进制流文件。 各个数据都是顺序紧密排列的,最大程度减小class文件的体积,让JVM更快加载。 每一个类,接口,枚举都会单独占据一个class文件。

constant_pool字段: 对应的类型:

  1. CONSTANT_Integer_info

  2. CONSTANT_Long_info

  3. CONSTANT_String_info

    ···

需要我们注意的是:常量池类型中没有所谓的byte,short,boolean类型。