想在程序停止前,执行一定的计算,知道通过Runtime.getRuntime().addShutdownHook(t); 可以注册钩子,在关闭之前回调钩子,但是都是建议不要进行复杂操作或计算,可是我这个操作可能比较耗时,不知道有什么好方式,希望高手指点,谢谢!
解决方案 »
- 限制JOptionPane.showInputDialog()的输入内容
- 请教一个基于继承的多态遇到的不解
- Swing问题,用过Netbeans的进来看看
- 如何在同一个Frame的面板中显示不同的Frame?
- 求助:有Java技术方面的职称是高级工程师的吗?
- A.java要用到B.java里的变量,应该怎么做?
- java中的解压缩问题
- 通过HttpURLConnection获取html源文件不能获取完全的问题!
- jdbc 连接oracle,报Exception in thread "main" java.lang.SecurityException: Prohibited package name: java.sql
- 求利用swing,awt编写的操作数据库的界面的例子,急!非常感谢!!!!!!
- 弱弱的问下ldh911,approveSelection()没选文件是不会被触发的
- java小程序,继承报错
基本上你顶楼贴出来的这个做法就比较标准了,但确实不建议时间太长,因为时间太长可能操作系统或者用户会强行杀死进程。所以另一种可能的做法是,把关键处理做完,然后记录日志。下次程序启动时,可以根据日志把其它一些并不关键,但也需要做的事情做完。Oracle数据库在强制关闭时就会采用这种策略,先强制关闭,下次启动时再做各种回滚和重做啥的。
这就好像360做什么鬼电脑优化的时候,就会把“关机时等待应用程序关闭”的时间设置的很短,显得关机很快,360功劳很大,其实大多进程都被强行终止了,祸害祸害啊。