2015-06-29 8 views
6

Tutti gli oggetti di una classe condividono la variabile statica. Ma quando viene allocata la memoria per la variabile statica? È quando viene creato il primo oggetto per la classe? Oppure si verifica anche prima che venga creata un'istanza per la classe? Anche la variabile di istanza è allocata memoria in fase di esecuzione. La memoria per la variabile statica è allocata in fase di runtime o in fase di compilazione?Quando la memoria è allocata per una variabile statica in java?

+0

Questo è un dettaglio di implementazione. Hai una particolare implementazione o garanzia di cui ti stai chiedendo? –

+0

È [definitivamente non in fase di compilazione] (http://stackoverflow.com/questions/4343760/when-is-static-variable-loaded-in-java-runtime-or-compile-time). È prima che venga creato il primo oggetto (è possibile accedere a campi/metodi statici senza creare un'istanza di questa classe). La mia intuizione mi dice che quelli sono assegnati mentre la classe viene caricata. – Turing85

+0

questo è esattamente ciò che si desidera sapere http://stackoverflow.com/questions/6569557/questo-è-la-aula-momento-modoria-per-static-variables –

risposta

3

Quando la classe viene caricata, in fase di esecuzione. Puoi trovare i dettagli here.

0

quando classe caricatore carica della classe, memeory per tutte le variabili statiche saranno assegnati e questo verrà fatto solo una volta

Problemi correlati