Java è nato come linguaggio per la rete, per affiancare
l'HTML, il linguaggio di markup per costruire pagine Web, e al protocollo
HTTP, senza stato e con alcuni problemi di sicurezza.
Quello che serviva era una piattaforma per costruire applicazioni Web transazionali, che fosse più semplice dei primi
CGI, e che desse il via allo sviluppo del Web come lo conosciamo oggi.
Una delle caratteristiche di Java, che lo rendono nuovo rispetto ad altri suoi predecessori come
C e
C++ è la modalità con cui vengono compilati ed eseguiti i programmi. I sorgenti non vengono infatti compilati direttamente in linguaggio macchina, ma tradotti in un codice detto
Bytecode.
Il codice generato può essere lanciato sfruttando un software di runtime, detto Java Virtual Machine (
JVM), che interpreta il
Bytecode ed esegue il programma sulla macchina su cui è installato. È proprio questo software di runtime (la
JVM) che, fornendo uno strato intermedio tra il
Bytecode e il sistema operativo, rende Java indipendente dalla piattaforma e permette di eseguire lo stesso programma Java, compilato una sola volta su una qualche macchina con un compilatore Java, su una piattaforma Windows o su una piattaforma Linux, indifferentemente.
