Macchina virtuale Java: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m wikificato un pochetto
m ah, ho anche tolto lo stub perchè imho inutile
Riga 3:
Le specifiche della JVM vengono dettate e aggiornate dalla Sun Microsystems in quanto iniziatore e mantenitore del progetto, ma vengono spesso disattese dalla maggioranza delle implementazioni non-sun di JVM che sono in circolazione, soprattutto per quanto riguarda il framework che ogni JVM include . Di conseguenza, le diverse JVM non sono totalmente compatibili tra loro ed occorre fare attenzione nello scrivere i programmi, se si vuole che essi funzionino su ogni JVM . La cosa migliore da fare a tale scopo sarebbe non usare le ultime caratteristiche del linguaggio introdotte dalla SUN nelle JVM più recenti e usare delle API "stabili" , che cioe' siano presenti nella JVM SUN da varie versioni.
 
Le ultime JVM Sun, così come alcune altre implementazioni reperibili, hanno metodi efficaci per ridurre il consumo di [[CPU]], tra i quali l'HotSpot <sup>(tm)</sup>, un metodo di precompilazione del bytecode in maniera tale da avere alcune parti già tradotte in linguaggio macchina, pronte per essere eseguite quando necessario.
 
La JVM ufficiale Sun implementa due tipi di HotSpot, che si differenziano essenzialmente per la quantità di bytecode già tradotto e per il momento in cui avviene la traduzione: la modalità [[Server]] HotSpot compila la maggior parte del codice al momento dell'avvio, e imposta il [[Garbage collection|Garbage Collector]] per un comportamento "aggressivo", mentre la modalità [[Client]] HotSpot (quella usata di standard dalla JVM Sun), interpreta da subito il bytecode e ne compila in seguito alcune porzioni di frequente uso.