繁体   English   中英

查找除HeapDump和ThreadDump之外的java.exe进程的内容

[英]Find the content of java.exe process apart from the HeapDump and ThreadDump

我有一个Java程序,其中我对一个类的对象进行了大量的操作。 对象在for循环内创建,该循环运行有限的时间。 循环完成后,我调用System.gc()清除堆中已使用的空间。 但是任务管理器中的进程java.exe仍使用更多RAM。 有什么办法可以找到流程中存储的内容吗? 还是有什么方法可以执行转储并以可读形式进行比较?

您的java.exe将不会释放曾经分配的内存。 垃圾回收只是将其释放给Java程序内的其他进程。

如果您对本主题感兴趣,则应该阅读一些有关Java内部内存处理的文档。 它太复杂了,无法在此处适当回答。

在这里查看一些指针: https : //softwareengineering.stackexchange.com/questions/176880/which-part-of-the-memory-is-used-for-the-garbage-collector

尝试使用Java事件探查器(例如JDK附带的jvisualvm)。 您可以连接到正在运行的应用程序,并检查堆上的内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM