ArrayList<Object> foo;
Object[] bar;
典型的终结者会做
foo = null;
bar = null;
我的问题是,ArrayList 会调用一个终结器,它将它持有的任何指针设置为空,还是我必须逐步完成列表
for(i=1; i<foo.size(); i++) foo.set(i,null); ???
另一个问题:对于一个数组,我是否需要将它的任何内容设置为空,比如
for(i=1; i<bar.length; i++) bar[i] = null;
或者是否足以丢弃整个内存块并且之后其中的任何指针超出范围?
对不起,如果这个问题很愚蠢。
在阅读了我发现的答案后,您自己没有什么可以实现的。
一些消息来源表明,如果发生这样的事情(吃内存的应用程序),这是设计不当。
我的核心问题是:经常做
struct = new LargeStructure();
这会耗尽内存吗?
或者这是否只需要其中一个结构的内存?
顺便说一句:问题出现在运行 tomcat 的 webapp 中,并且只有一个会话处于活动状态,它将所描述的指针作为会话变量保存。