3:Java agent 本质上是通过 c agent 来实现的,那 c agent 本质上是怎么实现的呢? C agent是一个事件驱动的工具实现接口,通常我们会在 C agent 加载后的入口方案 Agent_OnLoad处注册各个事件的钩子方法。当Java虚拟机触发了这些事件时,便会调用对应的钩子方法
还有个问题想请教下,每次启动的时候都会打印如下信息,objc[2614]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home/bin/java (0x102f6f4c0) and /Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home/jre/lib/libinstrument.dylib (0x104f384e0). One of the two will be used. Which one is undefined.