Hook钩子编程
钩子(Hook),是Windows消息处理机制的一个平台,钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统,以监视指定窗口的某种消息。每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,在目标窗口处理函数之前处理它。
Java在jvm中添加钩子的方法:Runtime.getRuntime().addShutdownHook(shutdownHook); 当jvm关闭的时候,会执行系统中已经设置的所有通过方法addShutdownHook添加的钩子,当系统执行完这些钩子后,jvm才会关闭。例:
Runtime.getRuntime().addShutdownHook( new Thread() { @Override public void run() { graphDb.shutdown(); } } );