想跟大家一起讨论下钩子函数的问题

Rush_2008 2008-02-12 07:29:39
钩子函数是c++的东西 ,Java也可以用,想有经验的朋友谈谈java中这么用钩子函数。
...全文
279 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Rush_2008 2008-02-29
  • 打赏
  • 举报
回复
感谢maquan,我自己查了一些资料,对钩子函数有了更深的理解。在Java中钩子函数主要是用来释放资源,也就是在jvm正常或者异常关闭时,程序会自动关闭你之前所用的资源。但是关闭的方法需要你写入run()方法中。到程序关闭时会自动调用run()
lovetysx 2008-02-19
  • 打赏
  • 举报
回复
这个hook跟C++的不是一个意思吧?
java有类似的东西吗?
maquan 2008-02-19
  • 打赏
  • 举报
回复
Rush_2008 2008-02-19
  • 打赏
  • 举报
回复
如果是设计层面的问题,就像5楼兄弟讲的,是设计模式,那有朋友了解过这个设计模式吗?或者之前用过,讲下心得
xiaoben008 2008-02-18
  • 打赏
  • 举报
回复
不懂哦,学习
maquan 2008-02-18
  • 打赏
  • 举报
回复
同意 5 楼的说法。如果要把“C++的钩子函数(确切地说,应该是 Platform SDK 的钩子函数)”跟楼主例子中的“Java钩子函数”相比较,这应该是“设计模式”层面的问题。

这应该不是“编程语言”的问题,而是“设计模式”的问题。名字是叫 hook 还是叫 listener 应该差不多吧。
chch87 2008-02-14
  • 打赏
  • 举报
回复
通过用jni调用dll文件可以使用windowsAPI,以前试过一次,现在忘了
梅小西Echo 2008-02-14
  • 打赏
  • 举报
回复
难道是设计模式中模板模式中的钩子(HOOK)函数?
cangyue87 2008-02-14
  • 打赏
  • 举报
回复
不会就是指匿名内部类吧......

那可能GUI里用得更多些......
Rush_2008 2008-02-14
  • 打赏
  • 举报
回复
在java中使用钩子函数我还不是很了解,我看过一个朋友的代码中有使用,现在贴上来,大家一起看看。

/*
* 通过钩子函数来清空资源,主要关闭连接,释放列表等。
*/
Runtime.getRuntime().addShutdownHook(new Thread() {
public void run() {
log.info("++++++++++> 开始关闭连接及释放资源 ......");
coreControl.clearSource();
adapter.clearSource();
midCollect.clearSource();
dbOperator.clearSource();
convert.clearSource();
log.info("++++++++++> clearSource结束! 程序退出!");
}
});
maquan 2008-02-12
  • 打赏
  • 举报
回复
既然楼主提出了这个问题,还是请楼主先讲一讲Java中怎么用钩子函数吧。否则我等还真不太知道Java的钩子函数是指什么……
约翰羊 2008-02-12
  • 打赏
  • 举报
回复
不知道,帮顶.

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧