ApplicationShutdownHooks内存泄漏
创始人
2024-09-11 04:30:19
0
  1. 将所有的程序关闭挂钩移除:
Field field = Shutdown.class.getDeclaredField("hooks");
field.setAccessible(true);
HashSet hooks = (HashSet) field.get(null);
for (Iterator it = hooks.iterator(); it.hasNext(); ) {
    Thread hook = it.next();
    Runtime.getRuntime().removeShutdownHook(hook);
    it.remove();
}
  1. 将需要执行的任务包装成一个只包含弱引用的对象,并注册到ShutdownHook中:
public class WeakRunnable implements Runnable {
    WeakReference weakRef;

    public WeakRunnable(Runnable runnable) {
        weakRef = new WeakReference<>(runnable);
    }

    @Override
    public void run() {
        Runnable runnable = weakRef.get();
        if (runnable != null) {
            runnable.run();
        }
    }
}

在代码中注册ShutdownHook时,可以使用该对象进行包装:

Runtime.getRuntime().addShutdownHook(new Thread(new WeakRunnable(() -> {
    // Your code here
})));

相关内容

热门资讯

透明新版!传送五激k辅助靠谱吗... 透明新版!传送五激k辅助靠谱吗,wepoker有没有插件-最初有挂开挂辅助软件这是一款可以让一直输的...
透视辅助!神途免费辅助软件,h... 透视辅助!神途免费辅助软件,hhpoker透视工具-从来有挂开挂辅助挂;无需打开直接搜索薇:1367...
透明新版!钱柜麻将辅助器,we... 透明新版!钱柜麻将辅助器,wepoker透视脚本下载-原先有挂开挂辅助平台;无需打开直接搜索薇:13...
透视安卓版!心悦填大坑辅助方法... 透视安卓版!心悦填大坑辅助方法,德州真人透视脚本-起初有挂开挂辅助器;亲,心悦填大坑辅助方法这款游戏...
透视辅助!蜀山四川好友房可以开... 蜀山四川好友房可以开挂吗是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户可...
透视规律!微信小程序财神破解版... 透视规律!微信小程序财神破解版,wepoker插件下载-原生有挂开挂辅助器;打开点击测试直接进入微信...
透视透明挂!兴动互娱辅助脚本,... 透视透明挂!兴动互娱辅助脚本,大菠萝789辅助器下载-最初有挂开挂辅助安装这是一款可以让一直输的玩家...
透明教程!杭州都莱游戏辅助,w... 大家好,今天小编来为大家解答杭州都莱游戏辅助这个问题咨询软件客服可以免费测试直接加微信(136704...
透视app!广东雀神智能插件安... 透视app!广东雀神智能插件安装网址,wepoker怎么买辅助-起初有挂开挂辅助器;无需打开直接搜索...
透明教程!爱玩联盟有没有挂,聚... 透明教程!爱玩联盟有没有挂,聚星ai辅助工具下载-本来有挂开挂辅助挂;打开点击测试直接进入微信(13...