Panoramica di Java
Distribuisci le applicazioni più popolari sui nostri server cloud ad alte prestazioni con un solo clic.
Java è un linguaggio di programmazione orientato agli oggetti sviluppato da Sun Microsystems a partire dal 1991 e rilasciato ufficialmente il 23 maggio 1995. Originariamente questo nuovo linguaggio di programmazione si chiamava Oak (James Gosling) ed era stato sviluppato per l'elettronica di consumo; fu poi rinominato Java e iniziò a essere utilizzato per la scrittura di applet, applicazioni e software server.

I programmi scritti in Java hanno la reputazione di essere più lenti e di occupare più RAM rispetto a quelli scritti in C. Tuttavia, la velocità di esecuzione dei programmi Java è migliorata sensibilmente con il rilascio, nel 1997–1998, del cosiddetto compilatore JIT nella versione 1.1, insieme ad altre caratteristiche del linguaggio a supporto di una migliore analisi del codice (come le classi interne, la classe StringBuffer, i calcoli logici semplificati, ecc.). Inoltre, è stata ottimizzata la macchina virtuale Java: dal 2000 viene utilizzata a tale scopo la macchina virtuale HotSpot. A febbraio 2012, il codice Java 7 era circa 1,8 volte più lento del codice scritto in C.
Alcune piattaforme offrono supporto hardware a runtime per Java. Ne sono un esempio i microcontrollori che eseguono codice Java direttamente sull'hardware anziché su una JVM software, e i processori basati su ARM che supportano l'esecuzione del bytecode Java tramite l'opzione Jazelle.
Caratteristiche principali:
- gestione automatica della memoria;
- funzionalità avanzate di gestione delle eccezioni;
- un ricco insieme di strumenti di filtraggio di input/output;
- un insieme di collezioni standard: array, lista, stack, ecc.;
- strumenti semplici per la creazione di applicazioni di rete (incluse quelle che utilizzano il protocollo RMI);
- classi che consentono di eseguire richieste HTTP e di elaborare le risposte;
- strumenti integrati nel linguaggio per la creazione di applicazioni multithread, successivamente portati in molti altri linguaggi (Python, ad esempio);
- accesso unificato ai database:
- a livello di singole query SQL — tramite JDBC e SQLJ;
- a livello del concetto di oggetti persistibili nel database — tramite Java Data Objects e Java Persistence API;
- supporto per i generics (dalla versione 1.5);
- supporto per lambda, closure e funzionalità integrate di programmazione funzionale (dalla versione 1.8).