gpt4 book ai didi

java - 没有变量引用的新实例会在 Java 中被垃圾回收吗?

转载 作者:行者123 更新时间:2023-11-30 08:25:11 25 4
gpt4 key购买 nike

关于以下 Java 类:

public class GuiController {
private GuiView view;

public GuiController(GuiView view){
this.view = view;
}

//responds to user inputs to GuiView
}

public class GuiView {
//interacts with user
}

//lives in the Servlet context
public class SomeLongLifeClass {
private GuiView view;

public SomeLongLifeClass(){
this.view = new GuiView();
new GuiController(view);
}
}

GuiController 最终会因为没有外部引用而被垃圾回收吗?不应该,因为它主动与引用的 GuiView 交互,我只是想不通为什么。

在第二个问题中,如果不是这样,还应该如何实现 View / Controller 模式?

最佳答案

是的,您的 GuiController 实例符合 GC 条件。在更实际的代码中,您可能会将 Controller 注册为 GuiView 组件的监听器(直接或间接),因此 Controller 将从 View 中引用, View 本身由 GUI 线程引用。

关于java - 没有变量引用的新实例会在 Java 中被垃圾回收吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22351864/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com