标签: java heap
我的java进程挂起。它读取输入数据并将其解析为Integer []并将其写入磁盘。
jvisualvm显示该进程正在充分利用堆空间。 (java.lang.Integer和java.lang.Integer []分别使用77%和22%的堆空间)
AFAIK java进程在内存容量不足时显示OutOfMemory错误消息。
为什么我的流程挂在那里? 我该如何解决这个问题?
答案 0 :(得分:0)
假设您有一个完整的堆转储,您要做的是计算对象的完全保留大小。这将告诉您类的所有实例的完整大小,包括它持有引用的其他对象。拿最大的那个从那里开始。