danesebis
18-12-2010, 07:46
Salve,
una dritta per i giovani sviluppatori e non..
Se vi serve una workstation (o un server) per sviluppare in Java, non fate errori, acquistate un processore rigorosamente a 32 bit !!!
La versione a 64 bit di Java crea (ahime) innumerevoli problemi:
Il garbage collector non è stato "migrato" a 64 bit il che vuol dire che gira ancora con un clock ridotto o meglio tenta...
Se installate un semplice programmino di monitoring, tipo JProfile, potrete notare che tutte le strutture a doppio livello (arrayList,Hashmap, ecc) non vengono distrutte.
Cio' comporta ovviamente un picco della Virtual Machine che porta inevitabilmente all' out of memory del sistema.
La soluzione è mettere a null forzatamente tutte le strutture dati, ma farlo in regression su milioni di righe di codice puo' divenire un impresa impossibile.
Pertanto assicuratevi che le vostre applicazioni girino su ambiente windows con processore a 32 bit (ovviamente con la versione di Java a 32b), altrimenti potete utilizzare Linux, magari una macchina RedHat, sulla quale il garbage collector funziona a dovere anche nella versione a 64 bit.
Spero possa esservi di aiuto questo post, per me lo sarebbe stato :)
Ciao.
una dritta per i giovani sviluppatori e non..
Se vi serve una workstation (o un server) per sviluppare in Java, non fate errori, acquistate un processore rigorosamente a 32 bit !!!
La versione a 64 bit di Java crea (ahime) innumerevoli problemi:
Il garbage collector non è stato "migrato" a 64 bit il che vuol dire che gira ancora con un clock ridotto o meglio tenta...
Se installate un semplice programmino di monitoring, tipo JProfile, potrete notare che tutte le strutture a doppio livello (arrayList,Hashmap, ecc) non vengono distrutte.
Cio' comporta ovviamente un picco della Virtual Machine che porta inevitabilmente all' out of memory del sistema.
La soluzione è mettere a null forzatamente tutte le strutture dati, ma farlo in regression su milioni di righe di codice puo' divenire un impresa impossibile.
Pertanto assicuratevi che le vostre applicazioni girino su ambiente windows con processore a 32 bit (ovviamente con la versione di Java a 32b), altrimenti potete utilizzare Linux, magari una macchina RedHat, sulla quale il garbage collector funziona a dovere anche nella versione a 64 bit.
Spero possa esservi di aiuto questo post, per me lo sarebbe stato :)
Ciao.