logo头像

Corey.Wang

PPAgent启动加载过程

本文于549天之前发表,文中内容可能已经过时。

知识点

-javaagent xxx.jar, 实现premain()
Class.getConstructor
java.lang.reflect.Constructor
ServiceLoader.load, 简单理解是获取某个接口(服务)的实现类,扫描META-INF/services下的配置
TraceMetadataProvider接口的实现类
ClassFileTransformer.transform, 重点看ProfilePluginLoader实现类

图一

图二

图三