它廣泛的被許多AOP的框架使用,例如Spring AOP和dynaop,為他們提供方法的interception(攔截)。最流行的OR Mapping工具hibernate也使用 CGLIB來代理單端single-ended(多對一和一對一)關聯(對集合的延遲抓取,是採用其他機制實現的)。EasyMock和 jMock是通過使用模仿( moke)對象來測試java代碼的包。它們都通過使用 CGLIB來為那些沒有接口的類創建模仿(moke)對象。 CGLIB包的底層是通過使用一個小而快的位元組碼處理框架ASM,來轉換位元組碼並生成新的類。除了 CGLIB包,腳本語言例如Groovy和 BeanShell,也是使用ASM來生成java的位元組碼。當不鼓勵直接使用ASM,因為它要求你必須對JVM內部結構包括 class檔案的格式和指令集都很熟悉。
它廣泛的被許多AOP的框架使用,例如Spring AOP和dynaop,為他們提供方法的interception(攔截)。最流行的OR Mapping工具hibernate也使用 CGLIB來代理單端single-ended(多對一和一對一)關聯(對集合的延遲抓取,是採用其他機制實現的)。EasyMock和 jMock是通過使用模仿( moke)對象來測試java代碼的包。它們都通過使用 CGLIB來為那些沒有接口的類創建模仿(moke)對象。 CGLIB包的底層是通過使用一個小而快的位元組碼處理框架ASM,來轉換位元組碼並生成新的類。除了 CGLIB包,腳本語言例如Groovy和 BeanShell,也是使用ASM來生成java的位元組碼。當不鼓勵直接使用ASM,因為它要求你必須對JVM內部結構包括 class檔案的格式和指令集都很熟悉。