Java程序经常也会遇到进程挂掉的情况,一些状态没有正确的保存下来,这时候就需要在JVM关掉的时候执行一些清理现场的代码。

JAVA中的ShutdownHook提供了比较好的方案。

JDK提供了Java.Runtime.addShutdownHook(Thread hook)方法,可以注册一个JVM关闭的钩子,这个钩子可以在一下几种场景中被调用:

1. 程序正常退出
2. 使用System.exit()
3. 终端使用Ctrl+C触发的中断
4. 系统关闭
5. OutOfMemory宕机
6. 使用Kill pid命令干掉进程(注:在使用kill -9 pid时,是不会被调用的)

下面是JDK1.7中关于钩子的定义:

    public void addShutdownHook(Thread hook)

spark学习-61-源代码:ShutdownHookManager虚拟机关闭钩子管理器相关推荐

  1. nodemanager不能正常关闭_Java虚拟机关闭钩子(Shutdown hook)

    作者:俩右 出处:https://segmentfault.com/a/1190000038298447 源码点击 study:https://github.com/xiaoshuanglee/stu ...

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

    Java程序经常也会遇到进程挂掉的情况,一些状态没有正确的保存下来,这时候就需要在JVM关掉的时候执行一些清理现场的代码.JAVA中的ShutdownHook提供了比较好的方案. JDK提供了Java ...

  3. layui.open 关闭之后触发_JAVA虚拟机关闭钩子(Shutdown Hook)

    前言 当你认真的去看一个组件的源码的时候,你会经常看见这种关闭钩子的函数,如果你不了解的话,谷歌一下,你就会发现如下文章就是搜索引擎出来的第一篇,不愧是出自我们优秀的厮哒哒之笔. 正文 Java 程序 ...

  4. php 去除实体,php – 如何在学说中正确关闭实体管理器

    我在Doctrine2脚本中遇到了内存泄漏问题,这个问题通常是由一段代码消除内存问题造成的. 在我知道你可以(并且应该)清除实体管理器之前,每20次迭代我做了以下事情: if ($this->u ...

  5. java hook全局钩子,牛逼骚操作:Java 虚拟机关闭钩子(Shutdown Hook)!

    码农每日一题 长按关注,工作日每天分享一个技术知识点. Shutdown Hooks 是一种特殊的结构,它允许开发人员插入 JVM 关闭时执行的一段代码. 用途 Application 正常退出(所有 ...

  6. [Unity] ACT 战斗系统学习 1:基于委托的事件管理器

    我觉得看视频太慢了,还是看别人源码更快-- 1.664235822/DarkSouls-Demo Github 源码: https://github.com/664235822/DarkSouls-D ...

  7. Kubernetes学习(八)Helm应用包管理器

    为什么需要Helm K8S上的应用对象,都是由特定的资源描述组成,包括deployment.service等.都保存各自文件中或者集中写到一个配置文件,然后kubectl apply –f 部署. 如 ...

  8. Spark学习(一)—— 论文翻译

    ================================ 弹性分布式数据集:基于内存集群计算的容错抽象 摘要 我们提出的弹性分布式数据集(RDDs),是一个让程序员在大型集群上以容错的方式执行 ...

  9. tomat(16)关闭钩子

    [0]REAMDE 0)本文部分文字描述转自:"how tomcat works",旨在学习"tomat(16)关闭钩子"的相关知识: 1)problem+so ...

最新文章

  1. Linux Shell中各种分号和括号的用法总结
  2. pytest配置文件pytest.ini
  3. Android显存到内存拷贝耗时,memcpy速度太慢?掌握这个技术让内存拷贝效率成倍提升...
  4. python生成json_Python 生成json文件
  5. Tensorflow ExponentialMovingAverage 详解
  6. 比较全的 Java8 9 lambda 应用
  7. 【TP5】Thinkphp5初体验1
  8. win server 缓冲区队列不足_有赞延迟队列设计
  9. 51单片机数码管小数点c语言,求助一个51单片机控制的数码管计算器带小数点功能的...
  10. Java 实现线程的两种方式
  11. Windows10系统打开程序应用提示『不支持此接口』的解决方案
  12. 串口程序设计——struct termios结构体
  13. 常见的统计图表及其应用
  14. 金融计量模型(十):协整和误差修正模型
  15. android接入qq广告,QQ接入华为HMS 安卓生态迎巨变?
  16. 中文文本分析(matplotlib的库的应用)
  17. UE4面试基础知识(一)
  18. 交换内存SWAP使用率90%
  19. unity3d之角色的移动篇 -- 俯视视角下的键盘移动
  20. java8得到昨日日期

热门文章

  1. 爆料者称苹果仍在继续研发iPhone屏下Touch ID
  2. 理想汽车市值逼近蔚来,王兴曾多次在饭否为其站台
  3. 三大运营商5G基站大单纷纷落地:华为、中兴、爱立信、大唐移动收获大
  4. 支付宝牵手全球最大公募基金 上线“帮你投” 800元起投
  5. 苹果上新了!新款iPad Pro发布:妙控键盘成最大惊喜
  6. 估值150亿,账上还有近10亿现金,却减员500人,这家公司CEO的说法你认同吗?...
  7. 苹果发布App“一年之最”:快手短视频广东播放最多 山东原创第一
  8. 马化腾说话都不好使了?腾讯上线匿名社交APP,升级版漂流瓶?
  9. 已然是身份的象征了?Coach品牌再入天猫 只有目标用户才有机会看到
  10. 惊现“鬼影”!iPhone 11系列夜景拍照频频翻车