1. 程式人生 > >【原】如何獲取Java動態生成類?

【原】如何獲取Java動態生成類?

sun gui hibernate png 文章 div com java動態生成類 pro

寫作目的:Java大部分框架,如Spring,Hibernate等都會利用動態代理在程序運行的時候生成新的類,

有的時候為了學習,或者深入了解動態代理,想查看動態生成類的源代碼究竟長怎麽個樣子,

通過這篇文章,我們就能夠很容易到達目的。

工具:利用JDK自帶的工具。

  相關命令:java -cp .;%JAVA_HOME%/lib/sa-jdi.jar sun.jvm.hotspot.HSDB

操作步驟:

1) 打開命令行窗口, 查看JDK安裝目錄

  技術分享圖片 

2) 進入該目錄

  技術分享圖片

3)輸入關鍵命令

  技術分享圖片

  將會彈出一個Swing程序,如下圖

  技術分享圖片

 4) File->Attach to HotSpot Process, 並輸入想查看Java進程的ProcessId

  技術分享圖片

  技術分享圖片

  技術分享圖片

   技術分享圖片

5)經過如上步驟,將會在當前目錄下生成相應的Class文件,最後找一個反編譯工具(如jd-gui)打開,即可以看到原碼啦。

  技術分享圖片

【原】如何獲取Java動態生成類?