【发布时间】:2014-09-29 10:39:15
【问题描述】:
我运行了一些第三个库代码,一段时间后我遇到了OutOfMemoryError。所以我启动了 Eclipse MAT 并分析了内存。现在似乎无法释放内存,因为有一个显示为GC root: Native Stack 的对象。阅读documentation:
本机代码中的输入或输出参数,例如用户定义的 JNI 代码或 JVM 内部代码。这通常是因为许多方法具有本机部分,并且作为方法参数处理的对象成为 GC 根。例如,用于文件/网络 I/O 方法或反射的参数。
现在我的问题是:如何确认该对象在 JNI 或其他地方使用(即如何找到使用它的代码)?我可以以某种方式处理该对象吗?我还有哪些其他选择?
已经感谢您的帮助!
【问题讨论】:
标签: java memory-leaks java-native-interface out-of-memory