热修复的原理

水一篇哈,完事儿后删掉

热修复的原理

Java虚拟机 —— JVM 是加载类的class文件的,而Android虚拟机——Dalvik/ART VM 是加载类的dex文件,而他们加载类的时候都需要ClassLoader,ClassLoader有一个子类BaseDexClassLoader,而BaseDexClassLoader下有一个
数组——DexPathList,是用来存放dex文件,当BaseDexClassLoader通过调用findClass方法时,实际上就是遍历数组,找到相应的dex文件,找到,则直接将它return。而热修复的解决方法就是将新的dex添加到该集合中,并且是在旧的dex的前面,所以就会优先被取出来并且return返回

相关推荐

  1. 修复原理

    2024-07-17 06:08:02       23 阅读
  2. 安卓之修复原理以及解决方案

    2024-07-17 06:08:02       46 阅读
  3. webpack 更新实现原理

    2024-07-17 06:08:02       30 阅读
  4. 前端开发中更新原理

    2024-07-17 06:08:02       30 阅读
  5. haproxy无缝重启实现原理

    2024-07-17 06:08:02       38 阅读
  6. 【前端工程化面试题目】webpack 更新原理

    2024-07-17 06:08:02       48 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-17 06:08:02       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-17 06:08:02       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-17 06:08:02       57 阅读
  4. Python语言-面向对象

    2024-07-17 06:08:02       68 阅读

热门阅读

  1. Springboot 3.x - Reactive programming (2)

    2024-07-17 06:08:02       25 阅读
  2. C++基础语法:STL之容器(1)--容器概述和序列概述

    2024-07-17 06:08:02       31 阅读
  3. 【前端】原生实现图片的放大与缩放

    2024-07-17 06:08:02       22 阅读
  4. Meta Llama - Model Cards & Prompt formats

    2024-07-17 06:08:02       22 阅读
  5. 后端开发面试题

    2024-07-17 06:08:02       22 阅读
  6. 自动化回滚的艺术:Conda包依赖的智能管理策略

    2024-07-17 06:08:02       26 阅读
  7. 探索Dubbo的服务引用:XML配置方式

    2024-07-17 06:08:02       26 阅读
  8. 单例模式 饿汉式和懒汉式的区别

    2024-07-17 06:08:02       22 阅读
  9. 【云原生CI/CD工具GitOps】GitOps工作流程和工具链

    2024-07-17 06:08:02       27 阅读