最近在学习Struts2,了解到过滤器和拦截器的不同,过滤器底层原理是基于回调方法,而拦截器是基于反射,然后递归

感觉有个通俗的解释:

用客户端和服务端作比喻,比如客户端A和服务端B,

A向B发消息,发了之后,B处理消息要返回给A,但是需要经过一段时间,而A不想这样,A想发完继续干其他事情,B处理好消息发过来就行了,于是需要在A这端开一个新的线程,

在这个线程里A向B发消息,B收到消息,处理完后再返回给A,而A可以继续做其他事情.

用调用方法的角度讲:

在A中有方法sendmessage,调用B的process方法,传入的参数需要有两个,一个是要处理的消息,一个是A的引用(一般设置成A的接口,这样只要A实现了这个接口就都可以传入),要不然B处理完消息,不知道发给谁啊,对吧.处理完消息后,B肯定是调用A(此时这个A就是B接收的两个参数中A的引用)中的accept方法接收这个结果,于是A也得到的结果,这样就实现了异步回调了.这个accept方法就是回调方法.

,,

原文:https://www.cnblogs.com/doveshelly/p/9021149.html

java反射回调函数_java回调函数相关推荐

  1. java中参数存储_Java中函数参数传递和数据存储

    值传递是将要传递的值作为一副本传递的.. 引用传递,传递的是引用对象的内存地址.. 例如: int i=4; int j=i;   //相当于把4复制了一个副本赋给了j 输出结果是i=4 ,j=4 C ...

  2. java trim()函数_Java - split()函数和trim()函数的使用方法

    split()函数和trim()函数的使用方法 本文地址: http://blog.csdn.net/caroline_wendy/article/details/24465141 详细參考Java ...

  3. java如何自定义函数_Java用户自定义函数

    用户除了可以使用JavaScript的内置函数之外,还可以自己定义函数.自定义函数有3种方法. 使用关键字 function 构造 语法: function funcName([param1][,pa ...

  4. java反射的性能_java反射的性能问题

    java反射效率到底如何,花了点时间,做了一个简单的测试.供大家参考. 测试背景: 1. 测试简单Bean(int,Integer,String)的set方法 2. loop 1亿次 3. 测试代码尽 ...

  5. java反射 获取方法_java反射之获取类的信息方法(推荐)

    本文接上文"老生常谈反射之class类的使用(必看篇)",以编写一个用来获取类的信息(成员函数.成员变量.构造函数)的工具类来讲解"反射之获取类的信息" 1.获 ...

  6. java 反射执行语句_JAVA反射机制

    JAVA反射机制定义: JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的 ...

  7. java反射性能问题_Java反射应用实例java反射的性能问题 | 学步园

    很多IOC等框架都使用反射来实现,例如Spring, Hibernate等, Java反射的方式实现的逻辑比普通类逻辑的效率是要差一些的(14至300倍左右), 具体可以参考我转载的一篇文章< ...

  8. java反射用法示例_Java反射示例教程

    java反射用法示例 Java Reflection provides ability to inspect and modify the runtime behavior of applicatio ...

  9. java反射机制知识_Java反射机制讲解,程序员必须掌握的知识点

    关注程序员7歌,一起用技术改变世界 大家好,我是程序员7歌,今天我为大家讲解Java的反射机制. 首先我们来看看反射的概念: Java反射说的就是在程序运行中,任何一个类,我们都可以知道这个类的方法和 ...

  10. java反射的运用_java反射的使用

    java反射的使用 1 什么是反射 反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问.检测和修改它本身状态或行为的一种能力. JAVA反射机制是在运行状态中,对于任意一个类,都能够 ...

最新文章

  1. (转载)动态SLAM系统:VDO-SLAM!
  2. ZOJ 3805--解题报告
  3. 皮一皮:说好的一起守护光和未来呢...
  4. 【百家稷学】计算机视觉典型实践(珠海格力电器技术分享)
  5. android:layout_weight属性的简单使用
  6. 在Go中使用Protobuf
  7. springboot 优雅停机_Spring boot 2.3优雅下线,距离生产还有多远?
  8. 在vue中安装axios库
  9. 二进制转八进制公式计算机,二进制转八进制算法(二进制与八进制的互相转换方法)...
  10. 基于javaweb+jsp的学生档案管理系统(JavaWeb JSP MySQL Servlet SSM SpringBoot Bootstrap)
  11. java jar加密工具_Java加密流程-防止jar被反编译
  12. 服务器和售票系统,网上售票系统的开发与实现.doc
  13. 【工具-DVWA】DVWA的安装和使用
  14. 华为手机word插件加载失败_c#调用word的组件时失败解决方法
  15. AcWing - 高斯消元解线性方程组(高斯消元)
  16. MA1 轻轻松松学统计分析(下)
  17. poj1637(混合图判欧拉回路)
  18. 跳跃游戏 (动态规划剪枝/前缀和/滑动窗口/BFS剪枝)
  19. 学生宿舍管理mysql设计_学生宿舍管理系统设计与实现(SSH,MySQL)
  20. [数据库] mysql

热门文章

  1. Stateflow子状态激活条件下迁移有效
  2. Python列表排序 list.sort方法和内置函数sorted
  3. 调试通过的android手机调用网上.net web service的例子
  4. 数学与算法《TF-IDF》
  5. matlab用lism求零输入响应,信号与系统实验报告
  6. python将学生信息保存到文件中_Python statsmodels OLS:如何将学习的模型保存到文件中...
  7. TF-IDF的java实现(权重排序,可用来处理大数据集)
  8. matlab小波分析常用函数
  9. 三维姿态:关于solvePnP与cvPOSIT
  10. 最少换乘(最短路+恶心的输入)acm寒假集训日记22/1/3 or 22/1/4