Tag: 清楚

清除Java内存

我正在使用Matlab 2012b连接到我导入数据的另一个程序(Imaris)。 通信实际上是通过java作为接口发生的。 我遇到的问题是数据不会从Java内存中删除并随着时间的推移而堆积起来,直到Matlab最终崩溃。 “clear Java”不起作用并产生以下警告:“Ice / ConnectionRefusedException类的对象存在 – 不清除” 我发现真正清除Java内存的唯一解决方案是重新启动Matlab,在我的情况下这不是一个选项。 在网上搜索时,我发现很多人都遇到了同样的问题。 ( http://www.mathworks.de/matlabcentral/newsreader/view_thread/283708 ) 但是我没有找到答案如何解决这个问题。 有人知道解决方案吗?

更好的做法是重新实例化List或调用clear()

使用Java(1.6)最好是在List上调用clear()方法还是只重新实例化引用? 我有一个ArrayList,它填充了未知数量的对象,并定期“刷新” – 处理对象并清除列表。 刷新后,List再次填满。 冲洗是在随机时间发生的。 列表中的数字可能很小(对象的10个)或大的(数百万个对象)。 那么“flush”调用clear()或new ArrayList()会更好吗? 是否值得担心这类问题,还是我应该让VM担心呢? 我怎样才能看看Java的内存占用为我自己做这类事情? 任何帮助非常感谢。