我正在尝试销毁JPype中的Java对象,以便垃圾收集来管理堆空间,此时堆空间使用量一直在增长,直到抛出内存不足错误。 我在循环中重新分配对象名,并且堆内存足以处理循环迭代的任何特定执行。
在JPype中将null
分配给Java对象的正确方法是什么?
我已经尝试了foo = None
和del foo
,希望这些将在Java虚拟机中根据需要删除引用,但无济于事。
编辑:
我已经隔离了违规行。我一再打电话
bar = jpype.JArray(jpype.JDouble, 1)(foo)
并且每个调用似乎都会创建一个未删除的未引用双精度。
我已经确认内存泄漏涉及未通过分析内存转储而删除的未引用的双精度数。
任何建议将不胜感激。