Agent 字节码工具 bytebuddy 启动方式 静态启动 使用-javaagent参数在应用系统启动时挂载Agent入口:premain()自由度 高 对字节码可以做任意修改 唯一要求:修改后字节码能够通过JVM验证,符合字节码规范 动态启动 在应用系统运行时使用Attach Api 挂载agent入口 agentmain()自由度 低 不能增减父类 不能增加接口 不能修改方法适用场景:系统诊断 arthas 启动流程 初始化配置加载插件定制化agent行为启动服务注册关闭钩子