override的方法,为什么会被自动执行?
2017-03-06 11:19
351 查看
方法是不会自动执行的,如果要执行肯定是被调用了。
是启动了一个线程:
或者监听器?
都不是!
总结:没有自动执行这么一说,肯定是被调用了。那么javax.servlet.Filter类的doFileter是被谁调用的?这个需要查一下,是不是使用了jvm、线程、tomcat等技术。
Runnable接口中的 run方法,HttpServlet中的doGet、doPost方法、过滤器类中的doFilter方法、JSP扩展标签方法中的doTag方法、Applet中的paint方法等等,甚至运行程序时的main方法,都会在一定时机自动调用。这些都是在哪里规定的? 虚拟机?解释器?配置文件? 这仅仅是一种API层面的,设计模型上涉及事件驱动结构、观察者等模式,技巧上的一种“控制反转”。 实现上也有用回调实现的。 都是在特定情况以其控制环境的控制器“调用”执行这个特定的接口方法, 比如 runnable.run() servlet.doPost(); applet.paint(g); 所举的都是在java的运行库中以java代码实现的,类似的机制自己也可以用。 属于一种或几种设计模式的有机结合。 |
这个只是表面的现象。其实每个方法都会有若干个监听器,来监听所发生的事件。当发生了事件以后,就会触动监听器。当然,对应的方法就会被调用。在用户看来,好像好多方法都是自动被调用的。当你分析完源代码了以后会发现,有好多监听器(Listener)。 |
总结:没有自动执行这么一说,肯定是被调用了。那么javax.servlet.Filter类的doFileter是被谁调用的?这个需要查一下,是不是使用了jvm、线程、tomcat等技术。
相关文章推荐
- 没法上网 请问这是啥原因(为什么自动获取ip地址为169.254.*.*)IP地址:169.254.*.*解决方法
- 开机自动执行的方法
- 问题 Java中的监听器类如何自动选择对应事件的方法执行的?
- 关于PLSQL Developer报"动态执行表不可访问,本会话的自动统计被禁止"错的解决方法 .
- 让Shell脚本自动执行的方法
- 页面加载完成后自动执行一个方法函数的JQ、JS方法
- Session_End()这个方法,为什么在会话结束的时候没有执行?
- Hibernate JPA中insert插入数据后自动执行select last_insert_id()解决方法
- 为什么要override ToString()方法——读《你必须知道的.net》
- unLock方法为什么没执行
- AutoCAD 调用类库时,自动执行用户自定义方法
- SQL 数据改变时自动执行类中的方法
- Windows 自动定时执行任务的几种实现方法
- Jquery的bind绑定方法 自动执行的问题解决
- SqlServer2000中调度包到作业中,自动执行失败的解决方法
- SQL 数据改变时自动执行类中的方法
- 【内存管理-问题实例】为什么执行了numberOfRowsInSection方法后,dataArray的retainCount就少了一个? 谁把它 release了?
- Windows 自动定时执行任务的几种实现方法
- 自动执行js方法改变超链接的值,并实现自动点击
- C#里执行Js,C#解析JS方法--附58同城自动登录功能