java关闭钩子不起作用?

时间:2017-11-12 08:17:31

标签: java swing

我开发了测量带宽流量的java swing应用程序 但我希望当pc关闭时,应用程序保存总发送和重新接收 流量到文件。 当我在我的代码中使用shutdownhook并关闭我的电脑 文件不保存! 任何人都可以帮助我?` 我在win7_64上使用java

(define (my-list n empty-list)    
   (if (= n 0) 
      empty-list    
      (cons 
        empty-list 
        (my-list (- n 1) empty-list))))

(my-list 2 '()) ;; => '(() ())

1 个答案:

答案 0 :(得分:3)

关闭挂钩不是用于PC关闭,而是用于关闭JVM。它只有在JVM关闭"优雅"时才会起作用。在POSIX上运行的JVM上,通过调用System.exit()或向其发送SIGTERMSIGINT信号(Ctrl + C)来启动正常关闭。根据操作系统的不同,可能是在关闭操作系统期间,JVM根本没有关闭,或者使用SIGKILL信号关闭。在这些情况下,不会执行关闭挂钩。