GWT循环分配/链接的垃圾收集

时间:2012-03-15 20:50:52

标签: java gwt garbage-collection linked-list

我假设GWT管理垃圾收集,并且当应用程序中的小部件或变量不再被引用时,它能够防止内存接收器(也就是泄漏)的累积。

因此将引用/变量设置为null是不够的,因为该窗口小部件/对象可能被应用程序中的其他位置引用/链接。特别是在树木中,我将与树项目相关的信息进行哈希处理。

如果有人对上述假设有异议,请说出你的想法。

好吧,如果一组对象相互引用,但整体上没有可以将它们跟踪到任何活跃使用​​的对象/变量的引用链。

一个简单的例子是双链接列表,从我自己的双链表类中实例化。或者从我自己编写的类中实例化的循环列表。如果任何活动组件/对象/变量不再引用该双向链表或循环列表,该怎么办。

GWT gc是否知道如何收集和销毁这些列表?

如果没有,我应该遵守哪些注意事项或设计模式,以避免积累内存接收器?

1 个答案:

答案 0 :(得分:2)

这是所有垃圾收集框架都知道如何处理的东西 - 虽然我相信GWT依赖于Javascript的GC,而不是它自己的。

如果您检查this section on Wikipedia,您将理解为什么您描述的双向链表结构将被正确地垃圾收集 - 实际上,未引用的列表将无法从任何根访问。