CGLIB概述

1. 代理与被代理对象(目标对象)

代理可以视为目标对象的包装箱,任何对目标对象的访问,都必须通过代理完成,因而可以在代理上对访问目标对象的请求进行控制等。

JDK 1.3开始提供JDK动态代理机制,但是其应用受到一定的限制,即目标对象必须实现一个接口。

对于未实现接口的目标对象,就不能使用JDK提供的动态代理功能,而通过CGLIB库可以实现其动态代理。

 

2. CGLIB(ByteCode Generation Library)是一款Java代码生成库,可以在运行时扩展Java类并实现Java接口。

基于ASM的支持,CGLIB提供了一组高层API,用以生成和转换Java字节码,可用于AOP等的动态代理对象生成和对象的字段访问拦截。


1) CGLIB在应用中的架构模型

其中,ASM是一款小巧高效的字节码操作框架,用于转换和生成字节码。ASM可以视为基于事件的字节码分析器。ASM不仅仅可以用于操作Java字节码,而且可以用于操作脚本语言。

2) CGLIB的版本

时间

版本

说明

Apr. 20

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值