Java: nozioni base per iniziare
Introduzione
La tecnologia Java viene utilizzata per sviluppare applicazioni per un'ampia gamma di ambienti, dai dispositivi consumer ai sistemi aziendali eterogenei. Come ogni linguaggio di programmazione, il linguaggio Java ha una propria struttura, delle regole di sintassi e un paradigma di programmazione. Il paradigma di programmazione del linguaggio Java si basa sul concetto di OOP, supportato dalle funzionalità del linguaggio. Ecco a seguire quali sono le nozioni base per iniziare con Java.
Il linguaggio Java
Il linguaggio Java è un derivato in linguaggio C. I blocchi di codice sono modularizzati in metodi e delimitati da parentesi ( {e }) e le variabili vengono dichiarate prima di essere utilizzate.
Strutturalmente, il linguaggio Java inizia con i pacchetti . Un pacchetto è il meccanismo dello spazio dei nomi del linguaggio Java. All'interno dei pacchetti ci sono classi e all'interno delle classi ci sono metodi, variabili, costanti e altro.
Il programmatore Java
Quando si programma per la piattaforma Java, si scrive il codice sorgente nei file .java e si compila. Il compilatore controlla il codice in base alle regole di sintassi del linguaggio, quindi scrive bytecode in file .class. Bytecode è un insieme di istruzioni mirate per l'esecuzione su una Java virtual machine (JVM). Aggiungendo questo livello di astrazione, il compilatore Java si differenzia dagli altri compilatori di linguaggio, che scrivono istruzioni adatte al chipset della CPU su cui verrà eseguito il programma.
La JVM
In fase di esecuzione, la JVM legge e interpreta i file .class ed esegue le istruzioni del programma sulla piattaforma hardware nativa per cui è stata scritta la JVM. La JVM interpreta il bytecode proprio come una CPU interpreterebbe le istruzioni del linguaggio assembly. La differenza è che la JVM è un software scritto specificamente per una piattaforma particolare. La JVM è il cuore del principio "write-once, run-anywhere" del linguaggio Java. Il tuo codice può essere eseguito su qualsiasi chipset per il quale sia disponibile un'implementazione JVM adatta. Le JVM sono disponibili per le principali piattaforme come Linux e Windows, mentre i sottoinsiemi del linguaggio Java sono stati implementati in JVM per telefoni cellulari e chip hobbisti.
La memoria
Quando l'applicazione Java crea un'istanza dell'oggetto in fase di runtime, la JVM assegna automaticamente lo spazio di memoria per quell'oggetto dall'heap - un pool di memoria riservato al programma da utilizzare. Il garbage collector Java viene eseguito in background, tenendo traccia degli oggetti di cui l'applicazione non ha più bisogno e recuperando la memoria da essi. Questo approccio alla gestione della memoria è chiamato gestione implicita della memoria, perché non richiede di scrivere alcun codice di gestione. La garbage collection è una delle caratteristiche essenziali delle prestazioni della piattaforma Java.
Java Runtime Environment
Quando si scarica un Java Development Kit (JDK), si ottengono - oltre al compilatore e ad altri strumenti - una libreria di classi completa di utilità predefinite che consentono di svolgere le più comuni attività di sviluppo dell'applicazione. Il modo migliore per avere un'idea dell'ambito dei pacchetti e delle librerie JDK è controllare la documentazione dell'API JDK .Java Runtime Environment (JRE, noto anche come runtime Java) include JVM, librerie di codici e componenti necessari per l'esecuzione di programmi scritti in linguaggio Java. Il JRE è disponibile per più piattaforme. È possibile ridistribuire liberamente il JRE con le proprie applicazioni, in base ai termini della licenza JRE, per fornire agli utenti dell'applicazione una piattaforma su cui eseguire il software. Il JRE è incluso nel JDK.