Whats up avec la mémoire statique en java?

Cette question est pour le langage java en particulier. Je comprends qu'il y est un statique de la portion de mémoire réservée pour tous de code statique.

Ma question est de savoir comment cela statique de la mémoire remplie? Est un objet statique mis en mémoire statique à l'importation, ou à la première référence? Aussi, faites de même la collecte des ordures règles s'appliquent à des objets statiques comme ils le font pour tous les autres objets?


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();
    }
}