Java獲取動態生成的代理類
以下以獲取mybatis動態代理爲例子
獲取java進程的id
使用cmd命令,獲取java運行id,可見端口號爲11944
netstat -aon|findstr "端口號"
查看JVM運行數據
- 使用cmd命令,開啓HSDB工具
java -classpath "%JAVA_HOME%/lib/sa-jdi.jar" sun.jvm.hotspot.HSDB
- 點擊file下面的Attach to hotSpot process
- 輸入進程id:11944
點擊Tools下的Class Browser,輸入動態代理的class名稱$Proxy77,查詢後點擊Create .class for this class,動態類的字節碼文件成功創建
- 然後到當前cmd運行的目錄找到$Proxy77.class,反編譯得到Class內容
- 獲取java字節碼,使用以下命令獲取字節碼文件到當前目錄
獲取java字節碼
javap -v -p -s -sysinfo -constants $Proxy77.class > class.txt