1. 首页
  2. 编程语言
  3. Java
  4. Java ShutdownHook原理详解

Java ShutdownHook原理详解

上传者: 2022-02-04 20:48:46上传 PDF文件 227.53 KB 热度 8次

ShutdownHook介绍在java程序中,很容易在进程结束时添加一个钩子,即ShutdownHook。通常在程序启动时加入以下代码即可有了ShutdownHook我们可以。spring中在application context被load时会注册一个ShutdownHook。这个ShutdownHook会在进程退出前执行销毁bean,发出ContextClosedEvent等动作。ShutdownHook原理ShutdownHook的数据结构与执行顺序。这样覆盖了代码中主动结束进程和被kill杀死进程的场景。而且每次信号的捕获是在不同的线程中,所以他们之间的执行是异步的。java中有两类线程,用户线程和守护线程,守护线程是服务于用户线程,如GC线程,JVM判断是否结束的标志就是是否还有用户线程在工作。当最后一个用户线程结束时,就会调用 Shutdown.shutdown。这是JVM这类虚拟机语言特有的"权利",倘若是golang这类编译成可执行的二进制文件时,当全部用户线程结束时是不会执行ShutdownHook的。

下载地址
用户评论