JDK 静态代理和 JDK 动态代理的区别
- JDK 静态代理,是通过直接编码创建的。
- JDK 动态代理,是利用反射机制在运行时创建代理类的。
在动态代理中,核心是 InvocationHandler。
每一个代理的实例都会有一个关联的调用处理程序( InvocationHandler )。调用代理实例时,将对方法的调用进行编码,并指派到它的调用处理器( InvocationHandler )的invoke 方法
对代理对象实例方法的调用,都是通过InvocationHandler中的invoke方法来完成的,而 invoke 方法会根据传入的代理对象、方法名称以及参数决定调用代理的哪个方法。
以上,是Java面试题【JDK 静态代理和 JDK 动态代理的区别】的参考答案。
输出,是最好的学习方法。
欢迎在评论区留下你的问题、笔记或知识点补充~
—end—