Page 1300 - Informatica dalla A a Z
P. 1300
611
scritta e compilata (bytecode ), non ha bisogno di subire operazioni di porting, ma può
essere eseguita senza modifiche su diversi sistemi operativi e su elaboratori con architet-
ture hardware completamente diverse. Il codice, però, non viene eseguito da una mac-
china reale, ma da una macchina astratta, detta Java Virtual Machine (JVM).
Nota: Per essere eseguito su una macchina reale, il codice compilato (bytecode) deve es-
sere interpretato. Significa che ogni istruzione della Virtual Machine viene tradotta nella
corrispettiva istruzione della macchina su cui si sta eseguendo l’applicazione in quel mo-
mento.
Una Applet è quindi una applicazione che viene eseguita dalla macchina virtuale del brow-
ser.
Per questo motivo si dice che Java è un linguaggio interpretato, nonostante il bytecode sia
effettuato attraverso un’operazione di codifica vera e propria.
Nota: una Applet Java, per motivi di sicurezza, non può accedere in nessun modo al file
system della macchina locale, non può scrivere sul server da cui proviene e non può acce-
dere a host diversi da quelli di provenienza.
Approfondimento: modificando la politica restrittiva del “Security manager”, è possibile
ridurre le restrizioni imposte, ottenendo applicazioni più potenti ma anche capaci di ese-
guire operazioni potenzialmente pericolose.
Esistono in tal senso tecniche di certificazione delle Applet che permettono al browser di
identificare l’Applet come fidata e di disattivare il controllo sulle operazioni effettuate
quando viene mandata in esecuzione.
611 Un formato intermedio indipendente dall’architettura, usato per trasportare il codice in modo efficiente tra le varie piatta-
forme hardware e software.
1296