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
   1295   1296   1297   1298   1299   1300   1301   1302   1303   1304   1305