热修复原理拆解个人笔记(一)

源于sophix文档:

  • 内部类/外部类


    热修复原理拆解个人笔记(一)_第1张图片
    java编译器对内部类的处理
  • 匿名内部类


    热修复原理拆解个人笔记(一)_第2张图片
    匿名内部类

    热修复原理拆解个人笔记(一)_第3张图片
  • 类加载


    热修复原理拆解个人笔记(一)_第4张图片
    类加载时间

    热修复原理拆解个人笔记(一)_第5张图片

final static/ static区别

对于基本类型的静态常量 ,还有String,JAVA在编译的时候就会把代码中对此常量中引用的地方替换成相应常量值。(包含域解析/类解析/查找字段)

热修复原理拆解个人笔记(一)_第6张图片

热修复原理拆解个人笔记(一)_第7张图片
热修复原理拆解个人笔记(一)_第8张图片
热修复原理拆解个人笔记(一)_第9张图片

热修复原理拆解个人笔记(一)_第10张图片
热修复原理拆解个人笔记(一)_第11张图片

热修复原理拆解个人笔记(一)_第12张图片

这里我的理解是:patch里面的是可以被替换的,但是之前的类的引用可能无法替换

范型:类型擦除,所以set(T) 是相等的被set(Object)


热修复原理拆解个人笔记(一)_第13张图片

你可能感兴趣的:(热修复原理拆解个人笔记(一))