jjzjj

ApplicationShutdownHooks

全部标签

java - 我需要帮助使用 MAT 查找我的内存泄漏

我正在使用MAT比较两个堆转储。我每天都进行堆转储,它每天增长大约200兆。我认为泄漏与java.util.zip有关,因为表中显示的内容以及我们最近添加了一个压缩和解压缩大量文件的新进程。(见图)此时我打开支配器并过滤.Inflater。那产生了一个很大的java.util.zip.Inflater列表。现在我想看看是什么让它们保持打开状态,所以我选择了一个并运行了路径到GCroot,排除了弱引用和软引用(见图)。看起来这与jar膨胀有关,与我的过程无关。在这一点上,我被卡住了,需要一些建议。编辑1Sean询问了ThreadLocals。如果您查看没有过滤器的dominator_tr

java - 我需要列出使用 java.lang.ApplicationShutdownHooks 注册的钩子(Hook)

我有一个第3方应用程序有一个错误,导致它在只需要1个时注册多个关闭Hook。我的问题是如何查看注册的关闭Hook是什么?我想迭代它们然后调用remove方法。持有Hook的集合是私有(private)静态的,不包含访问器。我们已经尝试过反射,但由于该类是包私有(private)的,我们必须让我们的cracker成为java.lang的一部分,这是一个被禁止的包。有什么想法吗?/**%W%%E%**Copyright(c)2004,Oracleand/oritsaffiliates.Allrightsreserved.*ORACLEPROPRIETARY/CONFIDENTIAL.Use