代码之家  ›  专栏  ›  技术社区  ›  harshit

如何捕获System.exit事件?

  •  24
  • harshit  · 技术社区  · 17 年前

    我有一个java应用程序,在其中我尝试确保如果有人在代码中退出codes System.exit(),那么应该调用一个侦听器来做一些事情,比如记录消息和释放资源。。。

    我如何实施它,欢迎任何建议/方法。

    2 回复  |  直到 17 年前
        1
  •  53
  •   RobertG    10 年前

    这个 Runtime.addShutdownHook 方法可以用来添加一个shutdownhook,这基本上是一个未启动的函数 Thread

    然而,这是一个需要小心处理的领域,因为它是在JVM生命周期的一个非常敏感的时间执行的。从API规范中获取 Runtime.addShutdownHook 方法:

    关机挂钩在一个微妙的时刻运行 在虚拟机的生命周期中 因此应该进行编码 防守。他们应该,在 线程安全,避免死锁 尽可能地。

    Runtime.addShutdownHook

    以下是我在搜索此答案信息时发现的几篇文章:

        2
  •  7
  •   Salim    11 年前

    功能 Runtime.addShutdownHook(Thread thehook) 允许您将挂钩注册到Java虚拟机中。

    推荐文章