Salve, sto scrivendo una classe che contiene i messaggi di errore in più lingue.
L'intenzione è quella di richiamarli scrivendo ad esempio ErrorMsg.NOT_NULL.get("IT").
Per inizializzare le variabili ho usato un blocco static{...}, non avendo mai avuto la necessità di usarlo, non conosco bene il funzionamento. A questo punto mi è sorto un dubbio, ma ogni volta che richiamo un messaggio viene rieseguita l'inizializzazione? Oppure viene fatta solo la prima volta?
Potete darmi delucidazioni.

Di seguito il codice della classe:
codice:
public class ErrorMsg {
	public static Map<String, String> NOT_NULL = new Hashtable<String, String>();
	
	static {
		NOT_NULL.put("IT", "ERROR: VALORE NOT NULL");


		NOT_NULL = Collections.unmodifiableMap(NOT_NULL);
	}
​}
Grazie e ciao