Java (informatica)

linguaggio di programmazione sviluppato da Sun Microsystems per applicazioni interattive, come evoluzione del linguaggio Oak, progettato per permettere la scrittura di programmi "incorporati" in strumenti di utilizzo comune controllati elettronicamente. Java presenta una sintassi simile a quella del C++, ma si ispira maggiormente all'esperienza di small talk, basando le proprie caratteristiche di portabilità e indipendenza dalla piattaforma sul concetto di macchina virtuale e di bytecode. La Java Virtual Machine (JVM) definisce un'architettura astratta sulla base della quale compilare i programmi Java e deve essere implementata sui diversi processori e sulle diverse architetture in modo conforme alle specifiche fissate dalla Sun Microsystems, con soluzioni ottimizzate rispetto alle caratteristiche del processore. Essa definisce l'ambiente di esecuzione dei programmi Java, in particolare specificando l'organizzazione della memoria e un insieme di operazioni primitive, sia aritmetico-logiche, sia legate alla creazione di oggetti nello spazio di memoria. Tali operazioni sono codificate sotto forma di bytecode, che rappresenta il linguaggio macchina della JVM, di modo che un metodo Java viene tradotto in una sequenza di byte. Per ogni istruzione della macchina virtuale è utilizzato un byte per codificare l'operazione, cui può seguire un determinato numero di byte per codificare gli eventuali argomenti aggiuntivi. Tali caratteristiche hanno fatto di Java, a partire dalla metà degli anni Novanta, il primo linguaggio per la scrittura di programmi, chiamati applets, eseguibili interattivamente all'interno di browser. Infatti, è possibile incorporare pezzi di codice Java in pagine HTML, eseguibili localmente presso la macchina che ha scaricato la pagina, non limitando più quindi gli aspetti dinamici dell'HTML alla richiesta di servizi presso il server, tramite l'esecuzione di script CGI. Utilizzabile originariamente solo all'interno del browser HotJava, Java è stato poi incorporato in tutti i principali browsers, una volta che il tag , successivamente generalizzato nel tag , è stato aggiunto allo standard HTML. Java offre un ambiente protetto di esecuzione, basato sulla JVM e sulla possibilità da parte del meccanismo di esecuzione di verificare la concordanza fra il contenuto effettivo di un programma compilato e la sua descrizione, prevenendo quindi la possibilità di subdole alterazioni del codice spedito. Inoltre, la memoria dell'elaboratore non può venire gestita direttamente da un programma Java, ma viene liberata attraverso un garbage collector che identifica locazioni di memoria che non sono più accessibili a nessun flusso. Il linguaggio Java ha conosciuto molteplici evoluzioni, che ne hanno reso possibile l'estensione a diversi ambiti di programmazione. Per esempio, nell'ambito dei sistemi interattivi, le classi Swing permettono la completa portabilità e adattabilità non solo del codice, ma anche del look and feel di un'interfaccia, svincolandolo da quello tipico del sistema operativo della macchina su cui si esegue il programma. Il modello di oggetti beans ha reso possibili forme di programmazione per componenti. I beans sono infatti piccoli raggruppamenti di classi con un'interfaccia comune e che si possono comporre dinamicamente con altri durante l'esecuzione. Il modello degli Enterprise Java Beans permette l'utilizzo integrato di data base attraverso il linguaggio Java stesso.

Quiz

Mettiti alla prova!

Testa la tua conoscenza e quella dei tuoi amici.

Fai il quiz ora