Hi stackoverflow members, Ecco una piccola domanda relativa al significato effettivo di "tempo di caricamento della classe".Classe Tempo di caricamento in Java
Ad esempio il codice seguente:
public class Sequence {
Sequence() {
System.out.print("c ");
}
{
System.out.print("y ");
}
public static void main(String[] args) {
System.out.println("Indeed");
new Sequence().go();
}
void go() {
System.out.print("g ");
}
static { System.out.println("x "); }
}
Fa stampare prima "x" che è statico quindi i blocchi init statici vengono sempre caricati in "tempo di classe loading". Ho capito, ma sai esattamente quando avviene questo tempo di caricamento? Ho pensato che quando la classe viene chiamata per la prima volta nel metodo principale creando il primo oggetto, ma in quel caso il risultato avrebbe dovuto essere diverso stampando prima "Indeed". Chiunque può aiutarmi a chiarire questo dubbio? Ho controllato altri post parlando di questo argomento in generale, ma ritengo comunque che sarebbe molto più chiaro (almeno per me) sapere esattamente quando, nel codice riportato sopra, si verifica il "tempo di caricamento della classe".
Grazie in anticipo.
Ancora una volta per essere più chiaro, conosco l'output di questo piccolo programma e so perché emette questo output. Tuttavia mi piacerebbe sapere quando accade esattamente il "tempo di caricamento della classe". – Rollerball
'Mi piacerebbe sapere quando si verifica esattamente il" tempo di caricamento della classe "ogni volta che la classe viene caricata in JVM. :) – PermGenError
penso che non dovresti preoccuparti di questi lavori JVM di base, tranne che ottieni una ClassNotFoundException – duffy356