码迷,mamicode.com
首页 > 其他好文 > 详细

热修复的原理

时间:2018-08-17 20:54:44      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:数组   文件的   java虚拟机   find   修复   解决方法   虚拟   ssl   添加   

我们知道Java虚拟机 —— JVM 是加载类的class文件的,而Android虚拟机——Dalvik/ART VM 是加载类的dex文件,

而他们加载类的时候都需要ClassLoader,ClassLoader有一个子类BaseDexClassLoader,而BaseDexClassLoader下有一个

数组——DexPathList,是用来存放dex文件,当BaseDexClassLoader通过调用findClass方法时,实际上就是遍历数组,

找到相应的dex文件,找到,则直接将它return。而热修复的解决方法就是将新的dex添加到该集合中,并且是在旧的dex的前面,

所以就会优先被取出来并且return返回。




热修复的原理

标签:数组   文件的   java虚拟机   find   修复   解决方法   虚拟   ssl   添加   

原文地址:https://www.cnblogs.com/ganchuanpu/p/9495179.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!