Этот вопрос касается, в частности, языка 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();
}
}