Prima che esistessero Adobe Flash e altre moderne tecnologie Web, i proprietari dei siti utilizzavano Java per creare siti Web accattivanti e interattivi. Come Flash, un programma Java riproduce filmati, genera grafica di alta qualità e supporta applicazioni complesse che ricordano le app desktop. L'interprete Java Virtual Machine che gira dietro le quinte ti consente di godere di questi vantaggi, ma presenta notevoli svantaggi.

Cuffia da portare della giovane signora di affari

Anatomia di una Java Virtual Machine

Il termine Java ha diversi significati; può fare riferimento al linguaggio di programmazione utilizzato dagli sviluppatori per creare applicazioni, le specifiche dell'interfaccia del programmatore dell'applicazione o le specifiche della macchina virtuale Java. Quando si visita una pagina Web che dispone di un programma Java, chiamato anche applet, il browser attiva la Java Virtual Machine che interpreta il codice Java ed esegue l'applet. Come una vera macchina informatica, JVM elabora le istruzioni e gestisce le aree di memoria.

Vantaggio: Java viene eseguito in un'area protetta

Immagina cosa potrebbe accadere se una pagina Web avesse la possibilità di eliminare i tuoi file o esaminare i tuoi documenti privati. Anche se le applet Java possono eseguire attività utili che il normale codice HTML non può eseguire, Java viene eseguito isolato all'interno della Java Virtual Machine. La JVM garantisce che un'applet rinnegata da un sito pericoloso non possa accedere alle risorse di sistema come i dischi rigidi.

Svantaggio: i criminali informatici possono sfruttare la macchina virtuale Java

Sebbene JVM limiti le azioni di un'applet, è ancora possibile per gli aggressori sfruttare i punti deboli nella piattaforma Java. Ad esempio, all'inizio del 2013, Microsoft ha visto tre esempi di applet progettate per utilizzare l'esecuzione di codice in modalità remota per infettare i computer. Oracle, lo sviluppatore di Java, ha rilasciato un aggiornamento che ti rende più sicuro impostando i livelli di sicurezza predefiniti dell'applet su "Alta". Questa impostazione garantisce che il browser ti avvisa quando un'applet non firmata tenta di eseguire. Come osserva Microsoft, "la stragrande maggioranza delle applet che sfruttano le vulnerabilità della sicurezza non è firmata". Una firma digitale su un'applet ti consente di sapere chi l'ha creata e verificare che nessuno abbia modificato l'applet dopo che il creatore l'ha firmata.

Vantaggio: taglia unica

"Cross platform" si riferisce alla capacità di un programma di funzionare correttamente su diversi tipi di hardware. Poiché Java è multipiattaforma, gli sviluppatori possono scrivere un pezzo di codice che può essere eseguito su qualsiasi PC, Mac, telefono cellulare e qualsiasi altro dispositivo dotato di JVM. Java non deve sempre essere eseguito in un browser. Puoi scaricare app Java in esecuzione sul desktop come fanno i normali programmi.

Svantaggio: potrebbe essere necessario un assemblaggio

Se nessuno ha mai installato Java Runtime Environment sul tuo computer, non puoi usare Java. Visita la pagina Web Verifica versione Java e segui le istruzioni per scaricare e installare la versione più recente se non ce l'hai. Sebbene non sia una lunga installazione, potrebbero verificarsi alcuni problemi, quindi consulta la pagina di risoluzione dei problemi Java se hai bisogno di assistenza per far funzionare la tua installazione.

Ulteriori vantaggi

A un livello dettagliato, Java Virtual Machines utilizza il suo compilatore just-in-time per convertire il codice Java in linguaggio macchina di basso livello che viene eseguito rapidamente come le normali applicazioni. Poiché i browser possono memorizzare nella cache questo codice compilato, possono riutilizzarlo in un secondo momento senza scaricarlo di nuovo e seguire i passaggi della compilazione.