Il linguaggio Java
Java non è solo un linguaggio di programmazione. È un'intera piattaforma software con funzionalità estese. I componenti principali della piattaforma sono:- Strumenti di base per la scrittura e l'esecuzione di programmi Java.
- Biblioteche e classi (il cuore del linguaggio). Forniscono le funzionalità di programmazione di base di Java: gestione delle eccezioni, multithreading, raccolte, registrazione, riflessione, sicurezza, networking, elaborazione XML, serializzazione, espressioni regolari.
- Strumenti per la distribuzione e l'avvio automatico delle applicazioni.
- Strumenti per la creazione di un frontend (GUI, interfaccia utente). Questi si trovano nelle classi delle librerie JavaFX, Swing e Java2D.
- Librerie per lavorare con database in remoto sulla rete, come JDBC, JNDI, RMI e Java RMI-IIOP.
-
Bassa barriera all'ingresso.
Imparare Java è più facile della maggior parte dei linguaggi con una sintassi simile a C. -
Orientamento agli oggetti.
I programmi in Java sono costruiti sulla base di oggetti e interazioni tra oggetti. Questo ti consente di godere di tutti i vantaggi di OOP. -
Portabilità.
Poiché viene utilizzato un interprete (la macchina virtuale Java), i programmi possono essere eseguiti su varie piattaforme e dispositivi. -
Indipendenza dalla piattaforma
Un programma Java scritto per una piattaforma viene compilato in un bytecode intermedio che può essere eseguito su altre piattaforme, poiché viene interpretato da una JVM per ciascuna piattaforma specifica. -
Multithreading avanzato.
Gli strumenti Java ti consentono di controllare l'esecuzione di più thread, il che significa che puoi creare applicazioni multithread. -
Sicurezza.
Poiché la JVM ha la verifica del bytecode integrata e Java non ha la gestione manuale della memoria, tiene traccia degli overflow dello stack e dispone di varie API che ti consentono di controllare la sicurezza, puoi creare applicazioni davvero sicure in Java. -
Tolleranza ai guasti.
Il meccanismo delle eccezioni aumenta la tolleranza agli errori dei programmi e riduce il numero di errori, sia in fase di compilazione che in fase di esecuzione. -
Interpretabilità.
L'interprete Java può eseguire il bytecode Java su qualsiasi macchina dotata di JVM e JRE. -
Distribuibilità.
Java dispone di strumenti per la creazione di applicazioni distribuite. -
Prestazione.
Un compilatore JIT (just-in-time) offre prestazioni ad alta velocità paragonabili a C e C++.
Come iniziare a programmare in Java?
Per iniziare a imparare Java da zero , dovresti approfondire alcuni concetti di base: cosa è incluso nel linguaggio Java, cos'è un programma Java e come viene eseguito? Quindi passa alla sintassi e alle basi della lingua e studia le biblioteche. Dopo aver letto un paio di articoli su Java, puoi affrontare le basi. Il seguente diagramma di flusso mostra chiaramente la sequenza dei passaggi:Cosa serve per programmare in Java?
Innanzitutto, è necessario installare il software per lo sviluppo e l'esecuzione dei programmi: il Java Development Kit (JDK). Successivamente, configura il JDK sul tuo computer, scarica e installa un ambiente di sviluppo integrato (IDE), che è un ambiente per lo sviluppo del software. L'IDE più popolare è IntelliJ IDEA. Le alternative sono Eclipse, NetBeans, JCreator e persino un normale editor di testo.
Installare Java sul tuo computer
Come abbiamo già visto, quando impariamo Java da zero, il primo passo è installare il JDK. Per questo, è necessario eseguire alcune semplici operazioni:- Vai al sito web di Oracle .
- Seleziona e scarica il file di installazione per il tuo sistema operativo.
- Eseguire l'installazione, seguendo i consigli dell'installatore.
- Imposta una variabile di ambiente se utilizzi Windows.
Definizioni di base
Se stai appena iniziando a imparare Java, incontrerai sicuramente i seguenti termini: JVM sta per Java virtual machine. Questo è un modulo software dipendente dalla piattaforma che serve per interpretare il bytecode sorgente in codice macchina e lo esegue. JRE sta per Java Runtime Environment. Include l'implementazione JVM per una piattaforma specifica e un insieme di librerie necessarie per eseguire programmi Java. JDK è l'acronimo di Java Development Kit, che è un insieme di strumenti di sviluppo necessari per scrivere programmi Java. Include un compilatore, JRE, librerie Java standard, documentazione e varie utilità. Il codice sorgente si trova in un file di testo scritto in linguaggio Java con estensione .java. Il bytecode è un codice di basso livello indipendente dalla macchina che consiste in una serie di istruzioni per la JVM. Il codice macchina è costituito da istruzioni macchina binarie che vengono eseguite direttamente dal processore. Compilare significa convertire il codice sorgente in bytecode. Interpretare significa convertire bytecode in codice macchina. Una piattaforma è un ambiente software e hardware per l'esecuzione di programmi. Le piattaforme più popolari sono Microsoft Windows, Linux, Solaris OS e Mac OS. Questo diagramma ti aiuterà a comprendere meglio i concetti di JVM, JRE e JDK:Ciclo di vita del programma
La vita di un programma Java inizia quando il codice sorgente viene scritto in un file di testo. Di solito, questo viene fatto in uno speciale ambiente di programmazione chiamato ambiente di sviluppo integrato (IDE), ma semplici programmi possono essere digitati in un editor di testo, anche Blocco note, fornito con qualsiasi edizione di Windows. Il codice sorgente deve essere salvato in un file con estensione .java. Programma di esempio: HelloWorld.java :public class HelloWorld {
public static void main(String[] args) {
System.out.println("This is my first program");
}
}
Prima che questo codice sorgente venga eseguito, deve essere compilato in bytecode da un compilatore. Un compilatore è un'utilità che fa parte del JDK. Produce un file con estensione .class. Questo file contiene bytecode, che sono istruzioni per la JVM. Il loro formato ricorda il linguaggio assembly. Il nostro programma HelloWorld.java verrà compilato in un file HelloWorld.class. La piattaforma Java non fornisce strumenti per la modifica del bytecode, ma è possibile visualizzarlo. Per visualizzare il bytecode di un programma Java, è possibile utilizzare l'utility javap disassembler, inclusa nel JDK. HelloWorld.class conterrà il seguente bytecode:
Compiled from "HelloWorld.java"
public class HelloWorld {
public HelloWorld();
Code:
0: aload_0
1: invokespecial #1 // Method java/lang/Object."<init>":()V
4: return
public static void main(java.lang.String[]);
Code:
0: getstatic #2 // Fieldjava/lang/System.out:Ljava/io/PrintStream;
3: ldc #3 // String This is my first program
5:invokevirtual #4// Methodjava/io/PrintStream.println:(Ljava/lang/String;)V
8: return
}
Ora il nostro programma è memorizzato in forma compilata nel file HelloWorld.class. Per eseguirlo su qualsiasi piattaforma, è necessario installare JRE. La JVM offre la possibilità di eseguire il porting di programmi Java su qualsiasi piattaforma.
- La JVM viene caricata nella memoria del computer. Fondamentalmente, questo è un programma che serve per eseguire i programmi Java che scriviamo.
- Utilizzando il classloader bootstrap, la JVM carica e inizializza la nostra classe in memoria. Nel nostro esempio, questa è la classe HelloWorld .
- Successivamente, la JVM cerca un metodo public static void main(String []) nella nostra classe.
- Viene eseguito il codice del metodo main . Se l'esecuzione del programma richiede altre classi, queste vengono caricate e inizializzate.
- Dopo l'esecuzione del codice, viene eseguita la Garbage Collection. Ciò comporta la cancellazione della memoria e la chiusura del programma JVM.
Scelta e installazione di un ambiente di sviluppo
Per programmare in modo rapido ed efficiente in Java, è necessario un ambiente di sviluppo, un'applicazione per la scrittura di programmi Java. Tra gli sviluppatori Java, gli IDE più popolari sono:- IDEA IntelliJ
- Eclisse
- NetBeans
Quanto tempo ci vuole per imparare Java?
Probabilmente puoi imparare le basi di Java e sviluppare capacità di programmazione in 6-12 mesi, a seconda di quanto studi intensamente. Adotta un approccio strutturato: fai un piano di studi, raccogli le fonti necessarie e dedica qualche ora al giorno ai tuoi studi. Non dimenticare che la chiave per imparare a programmare è la pratica.Conclusione
Studiare Java da soli è in realtà più facile di quanto si possa pensare. Hai solo bisogno di competenze informatiche di base. Per iniziare a imparare Java in modo efficace, segui alcuni semplici passaggi:- Installa Java sul tuo computer
- Impara i concetti di base
- Installa un ambiente di sviluppo
- Scrivi ed esegui il tuo primo programma