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

标签 java gwt garbage-collection linked-list

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

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

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

好吧,如果一组对象相互引用,但总体上没有引用链可以将它们跟踪到任何主动使用的对象/变量,那么情况又如何呢?

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

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

如果不是,我应该遵循哪些预防措施或设计模式来避免内存接收器的累积?

最佳答案

这是所有垃圾收集框架都知道如何处理的问题——尽管我相信 GWT 依赖于 Javascript 的 GC,而不是它自己的 GC。

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

关于java - 循环分配/链接的 GWT 垃圾收集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9727965/

相关文章:

java - 覆盖静态方法和final方法

java - 根据其中存在的组件调整 jpanel 的大小

gwt - 将堆栈跟踪转换为字符串?

gwt - 是否有 `AcceptsOneWidget` 和 `ProvidesResze`(除了 `ScrollPanel`)?

Javascript、事件、事件监听器和内存泄漏

java - JIT可以做这个字段访问优化吗?

java - 多个 Jpanel 按键监听器空间

日期格式的java正则表达式提取错误信息

events - GWT 中的 Fire ResizeEvent (Google Web Toolkit)

android - StartActivityForResult() 可能崩溃?