最近在学习Struts2,了解到过滤器和拦截器的不同,过滤器底层原理是基于回调方法,而拦截器是基于反射,然后递归
感觉有个通俗的解释:
java为什么要用反射?用客户端和服务端作比喻,比如客户端A和服务端B,
A向B发消息,发了之后,B处理消息要返回给A,但是需要经过一段时间,而A不想这样,A想发完继续干其他事情,B处理好消息发过来就行了,于是需要在A这端开一个新的线程,
在这个线程里A向B发消息,B收到消息,处理完后再返回给A,而A可以继续做其他事情.
java反射机制原理、用调用方法的角度讲:
在A中有方法sendmessage,调用B的process方法,传入的参数需要有两个,一个是要处理的消息,一个是A的引用(一般设置成A的接口,这样只要A实现了这个接口就都可以传入),要不然B处理完消息,不知道发给谁啊,对吧.处理完消息后,B肯定是调用A(此时这个A就是B接收的两个参数中A的引用)中的accept方法接收这个结果,于是A也得到的结果,这样就实现了异步回调了.这个accept方法就是回调方法.
,,
java反射执行方法。原文:https://www.cnblogs.com/doveshelly/p/9021149.html
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态