`

java 钩子方法

    博客分类:
  • demo
 
阅读更多

Runtime.getRuntime().addShutdownHook(shutdownHook);

   这个方法的含义说明:
       这个方法的意思就是在jvm中增加一个关闭的钩子,当jvm关闭的时候,会执行系统中已经设置的所有通过方法addShutdownHook添加的钩子,当系统执行完这些钩子后,jvm才会关闭。所以这些钩子可以在jvm关闭的时候进行内存清理、对象销毁等操作。
 
一、编写个测试类
  
package com.test.hook;
public class TestShutdownHook {
 /**
  * @param args
  */
 public static void main(String[] args) {
  // 定义线程1
  Thread thread1 = new Thread() {
   public void run() {
    System.out.println("thread1...");
   }
  };
  // 定义线程2
  Thread thread2 = new Thread() {
   public void run() {
    System.out.println("thread2...");
   }
  };
  // 定义关闭线程
  Thread shutdownThread = new Thread() {
   public void run() {
    System.out.println("shutdownThread...");
   }
  };
  // jvm关闭的时候先执行该线程钩子
  Runtime.getRuntime().addShutdownHook(shutdownThread);
  thread1.start();
  thread2.start();
 }
}
 
 
打印结果:
 
thread2...
thread1...
shutdownThread...
 
 
或者:
写道
thread2...
thread1...
shutdownThread...
 
 
结论:
 
无论是先打印thread1还是thread2,shutdownThread 线程都是最后执行的(因为这个线程是在jvm执行关闭前才会执行)。
分享到:
评论

相关推荐

    Java钩子方法概念原理详解

    主要介绍了Java钩子方法概念原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    java钩子实现源码

    http://blog.csdn.net/penngo/archive/2010/12/17/6081283.aspx附件源码

    java鼠标钩子实现

    http://blog.csdn.net/penngo/archive/2010/12/17/6081283.aspx的附件运行程序

    java的鼠标键盘钩子程序swt实现

    java的鼠标键盘钩子程序swt实现,目前能找到的比较方现成的实现,用起来也比较方便。

    jnativehook_java键盘钩子_hookapi_jnativehook_

    钩子函数运用,结合java语言获取键盘、鼠标响应监控信息。

    java实现的鼠标键盘钩子程序

    我在jBuilder里面用swing实现的该程序,其实很简单,就是调用了里面库文件的两个监听事件,当程序失去焦点以后仍然可以显示出当前鼠标的坐标。之所以上传是因为不少人可能对swt extension并不熟悉,导致自己用JNI...

    JAVA实现键盘钩子的源代码

    仅用JAVA实现全局键盘钩子的功能,很好很强大,学习下

    java鼠标钩子 运行程序 显示鼠标位置

    java鼠标钩子 运行程序 显示鼠标位置

    hook 钩子技术

    hook 钩子 技术 hook 钩子 技术 hook 钩子 技术hook 钩子 技术hook 钩子 技术

    ZHookLib:android dalvik的java方法钩子库

    智库一个用于 android 的 java 钩子库,它包含一个 so 和一个 jar 文件。 以及来自的部分代码副本它与安卓 2.3-4.4 兼容。 艺术模式支持即将到来! 应用程序接口: com.morgoo.hook.zhook.ZHook类: 挂钩方法: ...

    java源码包---java 源码 大量 实例

    Java波浪文字制作方法及源代码 1个目标文件 摘要:Java源码,初学实例,波浪文字  Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象...

    键盘钩子实例(使用DLL和hook)

    使用动态链接库和Windows钩子技术实现键盘钩子,当每按下一个key时,会在客户区显示出来。

    JAVA虚拟机关闭钩子(Shutdown Hook).docx

    JAVA虚拟机关闭钩子(Shutdown Hook).docx

    键盘钩子毕业论文

    2.钩子函数的分类、使用、安装和卸载等。 3.Windows动态链接库的运行机制和使用方法。 4.SOCKET编程原理。 5.VC++ MFC编程基础。 6.Andorid应用开发。 7. 计算机信息安全管理与防范意思的部分内容。

    JAVA_API1.6文档(中文)

    java.awt.im.spi 提供启用可以与 Java 运行时环境一起使用的输入方法开发的接口。 java.awt.image 提供创建和修改图像的各种类。 java.awt.image.renderable 提供用于生成与呈现无关的图像的类和接口。 java.awt....

    JAVA上百实例源码以及开源项目

    Java波浪文字制作方法及源代码 1个目标文件 摘要:Java源码,初学实例,波浪文字  Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象...

    JAVA上百实例源码以及开源项目源代码

    Java波浪文字制作方法及源代码 1个目标文件 摘要:Java源码,初学实例,波浪文字  Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象...

    java源码包4

    Java波浪文字制作方法及源代码 1个目标文件 摘要:Java源码,初学实例,波浪文字  Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics...

    JAVA反射机制与动态代理.part04

    JAVA反射机制与动态代理.part04

Global site tag (gtag.js) - Google Analytics