插件化,热修复基础之classloader

java的classloader


image.png

类的加载过程


image.png

android的classloader

bootclassloader:主要用来加载android framwork层的字节码文件
pathclassloader :加载已经安装的apk的class文件
dexclassloader:用来加载指定目录的字节码文件
basedexclassload:父类

双亲代理模型

加载class之前,会找当前的classloader是否被加载过这个class,加载过直接返回,没有加载过,会找父parent是否加载,加载过就直接返回。提供加载效率。同时防止核心类篡改
特点:
类加载的共享功能
类加载的隔离功能
不同的classloader加载不同的class
ps:同一个类的判断标准是包名相同,类名相同,且是同一个classloader加载

loadclass方法


image.png

你可能感兴趣的:(插件化,热修复基础之classloader)