gpt4 book ai didi

java - JAVA中静态成员的内存范围

转载 作者:行者123 更新时间:2023-12-02 04:34:12 25 4
gpt4 key购买 nike

这个问题是关于java中的内存管理和GC。

由于 java 没有像 C# 那样的真正的静态类,所以类中静态成员的范围是多少,如下所示:

public class Test {
public static String myVariable;
}

假设 Test.myVariable 在另一个类 Foo 中设置/调用。

只要 Foo 还活着,Test.myVariable 就一直保持活着吗?

或者

只要应用程序域存在,Test.myVariable 就会保持 Activity 状态吗?

myVariable 什么时候会超出范围?

最佳答案

我猜你的意思是当它可用于垃圾收集时。当负责加载类的类加载器本身是垃圾收集的候选者时,静态成员是垃圾收集的候选者。例如,假设类 Test 是由类加载器对象(如 loader1)加载的。因此,当 loader1 符合 GC 条件时,类 Test 及其静态变量(在这种情况下 myVariable 也符合 GC 条件)查看here

关于java - JAVA中静态成员的内存范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31037462/

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