Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java是否在程序终止时执行最终操作?_Java - Fatal编程技术网

Java是否在程序终止时执行最终操作?

Java是否在程序终止时执行最终操作?,java,Java,我正在用Java制作一个并发/分布式系统的原型。当一个进程终止时(例如命令行上的ctrl+c或Eclipse中的红色按钮),我希望在它离开之前向其他进程广播一条消息(最后一种方法)。尝试使用finalize()执行此操作,但无效。纯java,带有线程、套接字和主循环。谢谢。你试过使用吗 请注意文档中的一部分,它指出有时候JVM可能会在不运行关机挂钩的情况下中止—这应该作为正常关机的一部分使用,但不应该假定总是运行。(例如,假设您的网络突然中断,您无法广播再见消息。)您可以使用运行时。addShu

我正在用Java制作一个并发/分布式系统的原型。当一个进程终止时(例如命令行上的ctrl+c或Eclipse中的红色按钮),我希望在它离开之前向其他进程广播一条消息(最后一种方法)。尝试使用finalize()执行此操作,但无效。纯java,带有线程、套接字和主循环。谢谢。

你试过使用吗


请注意文档中的一部分,它指出有时候JVM可能会在不运行关机挂钩的情况下中止—这应该作为正常关机的一部分使用,但不应该假定总是运行。(例如,假设您的网络突然中断,您无法广播再见消息。)

您可以使用
运行时。addShutdownHook()
就是您要找的。

就是您想要的。这仅在JVM正常关闭时运行

请参阅