运用HSDB查看JVM加载的class的字节码

今天在学习动态代理时,突然很好奇怎么查看cglib生成的代理类的字节码。 对于jdk proxy可以使用sun.misc.ProxyGenerator类生成字节码,那么cglib proxy字节码怎么查看呢?

在网上查了资料,发现可以使用HSDB查看JVM运行时期的数据,从而可以查看JVM加载的class的字节码吗,又学到了一招,记录如下:

1.  在命令行, 执行jps, 查看我们要查看的JVM的PID

2.  执行HSDB(HotSpot Debugger) 工具, java -classpath "%JAVA_HOME%/lib/sa-jdi.jar" sun.jvm.hotspot.HSDB

3.  File->Attach to Hotspot Process, 输入JVM PID

4.  Tools->ClassBrowser

运用HSDB查看JVM加载的class的字节码_第1张图片

你可能感兴趣的:(Java)