Con l’enorme quantità di articoli scritti su Java  il crescente interesse al riguardo, si potrebbe trarre l’impressione che Java possa salvare il mondo, o almeno risolvere tutti i problemi di internet.

In realtà Java non è nient’altro che un linguaggio di programmazione con il quale si possono scrivere programmi da eseguire anche su Internet.

Sotto questo aspetto, Java è più vicino a linguaggi di programmazione molto diffusi come C, C++, Visual Basic o Pascal, piuttosto che a un linguaggio di descrizione della pagina come HTML o a un semplice linguaggio di script come JavaScript o VbScript.

Java è un linguaggio di programmazione orientato agli oggetti sviluppato dalla Sun Mycrosistems, un’azienda nota soprattutto per le sue stazioni Unix di fascia alta.

Ispirato al C++, Java è stato progettato con lo scopo di ottenere un prodotto di piccole dimensioni, semplice o portatile su diverse piattaforme e sistemi operativi, sia a livello del codice sorgente sia a livello del codice binario, il che significa che i programmatori Java (applet e applicazioni) possono esser eseguiti su qualunque computer nel quale si  installata la macchina virtuale di Java.

Java è indipendente dalla piattaforma

L’indipendenza dalla piattaforma, ovvero la capacità di un programma di essere trasferito da un tipo di computer all’altro, è uno dei vantaggi più rilevanti di Java sugli altri linguaggi di programmazione, soprattutto per sistemi destinati a operare su piattaforme diverse. Se si scrive software per il World Wide Web, questa è una caratteristica fondamentale per il successo di un programma. Java è indipendente dalla piattaforma sia a livello del codice sorgente sia a livello del codice binario.

L’indipendenza della piattaforma della piattaforma indica la possibilità di eseguire un programma su qualsiasi tipo di computer. I programmi Java possono essere eseguiti su qualsiasi sistema per cui sia stata installata una macchina virtuale Java.

Per seguire un programma Java, si avvia un programma denominato interprete di bytecode, il quale a sua volta esegue il programma originario ( la figura qui sotto). L’interprete di bytecode è spesso denominato macchina virtuale di Java, o sistema di runtime di Java.

I bytecode di Java sono serie speciali di istruzioni di macchina che non sono specifiche per un particolare processore o computer. Un interprete di bytecode specifico per la piattaforma provvede alla loro esecuzione; tale interprete di bytecode è spesso denominato macchina virtuale di Java o interprete di runtime di Java.

Lo svantaggio del bytecode sta nella velocità di esecuzione.