首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >大量数据删除

大量数据删除
EN

Stack Overflow用户
提问于 2012-09-12 03:49:54
回答 2查看 78关注 0票数 1

我有一个带有图形用户界面的程序,其中的段可以很大,并包含许多对象。我的程序的一个功能是“关闭”那个部分并创建一个新的部分。

这整个片段仅通过一个JPanel和一个ArrayList附加到程序。如果我将这两个设置为null,应该没有办法访问任何JPanels子代(其中一个是扩展图形用户界面组件的复杂对象,但也包含许多变量)。

如果我没记错,所有的JPanels孩子都会被垃圾收集器回收。

然而,孩子的孩子会发生什么呢?我有一些“家庭”,可以追溯到5-6代。它们只会在GC的第五次(或第六次)通过时被删除,还是会检测到整个“家族”无法访问并立即收集(或在第一次通过时)?

编辑:另一个小问题:对于swing组件,有没有一种方法可以移除它的所有子组件?

EN

回答 2

Stack Overflow用户

发布于 2012-09-12 08:13:26

对于经验方法,反复练习您的程序,并查找显示为here的模式,在该模式中,消耗的内存无法返回到基线。

相比之下,此example在每个周期后返回到基线。

票数 2
EN

Stack Overflow用户

发布于 2012-09-12 04:49:50

对你的问题的评论很好地解决了删除问题。但是,如果您仍然对在不删除组件的情况下删除组件的子级感到好奇,答案是否定的,如JComponent documentation中所示(我假设您使用的是Java7,如果不是,您可以很容易地更改为正确的Java版本)。如果您想快速、轻松地从组件中删除子项,而不删除组件本身,我建议您只需重新初始化组件即可。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12376882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档