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