【原】如何獲取Java動態生成類?
寫作目的: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動態生成類?
相關推薦
【原】如何獲取Java動態生成類?
sun gui hibernate png 文章 div com java動態生成類 pro 寫作目的:Java大部分框架,如Spring,Hibernate等都會利用動態代理在程序運行的時候生成新的類, 有的時候為了學習,或者深入了解動態代理,想查看動態生成類的源
Java動態生成類以及動態新增屬性
有個技術實現需求:動態生成類,其中類中的屬性來自引數物件中的全部屬性以及來自引數物件propertities檔案。 那麼技術實現支援:使用cglib代理。 具體的實現步驟: 1.cglib的jar包(cgl
【練習】小程式動態生成頁面
1.資料放入data檔案中的data.js var swiper_content=[ { url:"/images/3.jpg", title1: "最好的華俱", title2: "副標語" }, { url: "/images/4.jpg", tit
Java 動態生成類和例項, 並注入方法
Java官方支援的, 必須要有接口才行 import java.lang.reflect.Constructor; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; i
【原】個人java專案經驗總結
寫在前面的話 -“雖然我之前沒做過xxx,不過用xxx應該很簡單。” -“沒做過就別說很簡單!” 目錄 一、運算子,基本型別和四則運算 1.1 負數的餘數,如何優雅地避免陣列下標越界 1.2 你確定你的if判斷式裡是'=='而不是=? 二、類,介面的設計 2.1 引數列
java動態生成類
轉載..... 有個技術實現需求:動態生成類,其中類中的屬性來自引數物件中的全部屬性以及來自引數物件propertities檔案。 那麼技術實現支援:使用cglib代理。 具體的實現步驟: 1.cglib的jar包(cglib-nodep):我用的是cglib-nod
【譯】12. Java反射——類的動態載入和重新載入
博主最近比較忙,爭取每週翻譯四篇。等不急的請移步原文網頁。 =====================================================================================
Java逆向基礎之動態生成類
Java動態生成類為什麽有這個東西,一方面時AOP框架的需要,另一方面是增加軟件逆向的難度動態生成類的技術目前大體上分為兩類,一類是通過操作字節碼框架如cglib/Javassist去實現,另一類就是JNI方式,調用dll/so庫,內存中動態還原。這兩種方式都能實現隱藏類看一個Javassist動態生成類的例
【原】Java學習筆記034 - 網絡
端口號 bre throws clas 編程 綁定 容器 名稱 套接字 1 package cn.temptation; 2 3 import java.net.InetAddress; 4 5 public class Sample01 {
【Python】字典或者對象類型中鍵或者屬性的獲取與存在性判斷
ssss som lse dma 一點 ror orm something erro # 定義測試用對象A,字典B class A(object): length = 10 B ={"length":10} # 判斷對象是否含有某種屬性 # 推薦這種方式,更Py
【原】Coursera—Andrew Ng機器學習—Week 8 習題—聚類 和 降維
【1】無監督演算法 【2】聚類 【3】代價函式 【4】 【5】K的選擇 【6】降維 Answer:本來是 n 維,降維之後變成 k 維(k ≤ n) 【7】 【8】 Answer: 斜率-1 【9】 Answer: x 是一個向
【譯】11. Java反射——動態代理
博主最近比較忙,爭取每週翻譯四篇。等不急的請移步原文網頁。 =====================================================================================
【原】Java學習筆記034
1 package cn.temptation; 2 3 import java.io.IOException; 4 import java.net.DatagramPacket; 5 import java.net.DatagramSocket; 6 import java.ne
【原】Java學習筆記033
1 package cn.temptation; 2 3 import java.io.BufferedInputStream; 4 import java.io.BufferedOutputStream; 5 import java.io.FileInputStream;
【原】Java學習筆記032
1 package cn.temptation; 2 3 public class Sample03 { 4 public static void main(String[] args) { 5 /* 6 * Thread類的常用成員方法:
【原】Java反射機制的原理及在Android下的簡單應用
轉載地址:http://www.cnblogs.com/crazypebble/archive/2011/04/13/2014582.html 花了幾天時間,研究了一下Java的反射機制。在這裡總結一下這幾天學習的成果,一來分享自己的學習過程
【一】關於java.util.concurrent包下的併發類(atomic)
併發類包除了java.util.concurrent之外,還有java.util.concurrent.atomic和java.util.concurrent.lock.java.util.concurrent中主要是一些關於集合框架的併發實現,例如ConcurrentHas
【轉】關於Java生成背景透明的png圖片
int width =400;int height =300;// 建立BufferedImage物件BufferedImage image =new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);// 獲取Graphics2DG
【C++】linux下CMake生成動態連結庫,g++包含生成動態連結庫
一、前言 由於專案中要用到java呼叫C++的庫檔案,於是需要在linux下編譯連線生成動態庫,然後根據Recast官方包要先CMake生成編譯,然後在包含到自己實現的檔案,網上查了半天,坑爹沒有全面的,東拼西湊終於才明白原理,於是總結記錄分享如下。 二、CMake生
【原】Sql Server 2008---安裝時卸載Visual Studio
studio ima ext 一段 image 控制面板 選擇 應用 技術 由於數據庫連接不上,所以卸載數據庫,然後安裝的時候出問題報錯,結果是因為vs, 所以就有了卸載vs這一步。某些圖片借用一下。 1. 打開電腦中的控制面板--程序和功能 2.找到要卸載的軟件,但