谈谈JAVA反射机制,动态代理是基于什么原理?

反射机制是JAVA语言提供的一种基础功能,赋予程序在运行时自省(introspect,官方用语)的能力.通过反射我们可以直接操作类或者对象,比如获取某个对象的类定义,获取类声明的属性和方法,调用方法或者构造对象,甚至可以运行时修改类定义.

 

动态代理是一种方便运行时动态构建代理,动态处理代理方法调用的机制,很多情景都是利用类似机制做到的,比如用来包装RPC调用,面向切面的编程(AOP)

 

实现动态代理的方式有很多,比如JDK自身提供的动态代理,就是主要利用了上面提到的反射机制.还有其他的实现方式,比如利用传说中更高性能的字节码操作机制,类似ASM,cglib(基于ASM),Javassist等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值