Java獲取動態生成的代理類

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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章