动态代理机制+反射

Posted yhgn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了动态代理机制+反射相关的知识,希望对你有一定的参考价值。

动态代理机制+反射

一个接口,一个类,是实现动态代理的核心!!!

InvocationHandler接口

通过创建InvocationHandler接口创建自己的调用处理器。
invoke方法(可以调用被代理对象方法,也可以调用代理方法)
Proxy 类 (newProxyInstance方法就是创建一个代理类对象)
loader:类加载器 interfaces:接口 h:调用对象

 

注解:

注解的定义:public @interface 注解名

元注解(定义注解的注解):

[email protected]: 表示注解是否添加在文档中     2.Retention:生命周期(哪个阶段生效)

3.Target :指定注解的只用范围   4.Inherited:是否允许子类继承该注解

面试题:new和newInstance的区别

newInstance()是实现IOC、反射、面对接口编程 和 依赖倒置 等技术方法的必然选择,new 只能实现具体类的实例化,不适合于接口编程。

从jvm的角度看,我们使用new的时候,这个要new的类可以没有加载;

但是使用newInstance时候,就必须保证:1、这个类已经加载;2、这个类已经连接了。

   newInstance: 弱类型。低效率。只能调用无参构造。 
    new: 强类型。相对高效。能调用任何public构造。

以上是关于动态代理机制+反射的主要内容,如果未能解决你的问题,请参考以下文章

java反射机制与动态代理

java反射机制动态代理初探

java反射机制应用之动态代理

反射机制-动态代理

java反射和动态代理有啥关系

深入了解Java动态代理与反射机制