Vantaggi e Svantaggi dell'Interprete Java Virtual Machine
Prima di Adobe Flash e altre tecnologie web moderne, i proprietari di siti usavano Java per creare siti web interattivi e coinvolgenti. Come Flash, un programma Java riproduce filmati, genera grafica di alta qualità e supporta applicazioni complesse simili a quelle desktop. L'interprete Java Virtual Machine (JVM) che gira dietro le quinte rende possibili questi vantaggi, ma ha anche notevoli svantaggi.
Anatomia di una Java Virtual Machine
Il termine "Java" ha diversi significati: il linguaggio di programmazione, la specifica API, o la specifica JVM. Quando visitate una pagina con un programma Java (applet), il browser attiva la JVM che interpreta il codice Java ed esegue l'applet. Come una vera macchina, la JVM processa istruzioni e gestisce aree di memoria.
Vantaggio: Java Gira in un'Area Protetta
Immaginate se una pagina web potesse cancellare i vostri file o esaminare documenti privati. Anche se le applet Java possono eseguire compiti utili che l'HTML non può, Java gira isolato dentro la JVM. La JVM garantisce che un'applet canaglia da un sito pericoloso non possa accedere a risorse di sistema come i dischi rigidi.
Svantaggio: I Criminali Informatici Possono Sfruttare la JVM
Anche se la JVM limita le azioni delle applet, è ancora possibile per gli aggressori sfruttare vulnerabilità nella piattaforma Java. Ad esempio, all'inizio del 2013, Microsoft ha rilevato tre applet progettate per usare l'esecuzione di codice remoto per infettare computer. Oracle, sviluppatore di Java, ha rilasciato un aggiornamento che alza il livello di sicurezza predefinito delle applet a "Alto", avvertendo quando un'applet non firmata tenta di eseguire. Come nota Microsoft, "la stragrande maggioranza delle applet che sfruttano vulnerabilità non sono firmate". Una firma digitale sull'applet identifica il creatore e garantisce che nessuno l'abbia modificata dopo la firma.
Vantaggio: Una Taglia per Tutti (Cross-Platform)
"Cross-platform" significa capacità di un programma di girare su diversi tipi di hardware. Poiché Java è cross-platform, gli sviluppatori possono scrivere un codice che gira su PC, Mac, cellulari e qualsiasi dispositivo con una JVM. Java non deve per forza girare in un browser: potete scaricare app Java che girano sul desktop come normali programmi.
Svantaggio: Potrebbe Richiedere Installazione
Se nessuno ha mai installato Java Runtime Environment sul vostro computer, non potete usare Java. Visitate la pagina "Verifica versione Java" e seguite le istruzioni per scaricare e installare l'ultima versione. Anche se l'installazione non è lunga, potrebbero verificarsi problemi; consultate la pagina di risoluzione problemi Java se serve aiuto.
Vantaggi Aggiuntivi
A un livello più dettagliato, le JVM usano il compilatore just-in-time per convertire il codice Java in linguaggio macchina a basso livello che gira veloce come le applicazioni normali. Poiché i browser possono memorizzare nella cache questo codice compilato, possono riutilizzarlo senza riscaricarlo e ricompilarlo.