• 如何确定需要更新的表\class文件
    • cmd命令传入
    • 放在指定的文件夹
  • 代码热更,热替换
    • classReloader
    • premain可以获取instrumentation
      • 编译成jar,需要一些属性
      • 启动参数:-javaagent
      • 需要再启动的时候就开启代理
    • agentmain也可以拿到instrumentation
      • 编译成jar
      • updatemain进程 通过pid拿到游戏服的vm
      • vm.loadAgent() 调用loadAgent.jar的loadAgent函数
      • 不需要在启动的时候开启代理
    • instrumentation.redifineClass替换class文件
    • ClassFileTransformer
  • 数据热更
    • 需要reload的方法注册在map中
    • 传入类名,在map中找到对应的reload方法,invoke