2010-07-28 11 views

risposta

13

Se si ritiene che siano necessarie più istanze di una variabile statica, questa è una forte indicazione che non si dovrebbero utilizzare variabili statiche in primo luogo.

Sì, se la stessa classe viene caricata in caricatori di classi diverse, ciascuna copia della classe avrà la propria statica. Tuttavia, l'unico codice che può riferirsi staticamente a quelle statiche saranno le classi caricate dallo stesso programma di caricamento classi. E, naturalmente, quel codice vedrà (staticamente) solo la statica in una copia della classe. Quindi probabilmente non hai ottenuto molto.

Piuttosto che scherzare con i programmi di caricamento classi, è necessario eseguire il refactoring del codice per trasformare le variabili statiche in variabili di istanza.

+0

Quindi, come posso programmare per utilizzare più classloader? – Satish

+6

@satish - quindi non ti ho convinto che è una cattiva idea? –

+1

il punto non riguardava la cattiva idea, ma il tentativo di capire l'idea dietro i multi-classloader. Indirizzami a qualsiasi tutorial o esempio se ne trovi uno qualsiasi. Grazie per l'ottima risposta :-) – Satish

Problemi correlati