Java中的静态内存是怎么回事?
2022-09-02 11:43:43
这个问题特别适用于Java语言。我知道有一个静态的内存保护,为所有静态代码留出。
我的问题是,这种静态内存是如何填充的?静态对象是在导入时还是在首次引用时放入静态内存中?此外,相同的垃圾回收规则是否适用于静态对象,就像它们适用于所有其他对象一样?
public class Example{
public static SomeObject someO = new SomeObject();
}
/********************************/
// Is the static object put into static memory at this point?
import somepackage.Example;
public class MainApp{
public static void main( Sting args[] ){
// Or is the static object put into memory at first reference?
Example.someO.someMethod();
// Do the same garbage collection rules apply to a
// static object as they do all others?
Example.someO = null;
System.gc();
}
}