Java è stato sviluppato per essere un miglioramento sui linguaggi di programmazione stabiliti come C e C + + . Gli ingegneri di Sun Microsystems volevano un linguaggio di programmazione che avrebbe fornito una sintassi più semplice e una serie di librerie per semplificare lo sviluppo. Anche se molte di queste librerie e strumenti integrati sono incredibilmente utili , il loro utilizzo è un argomento avanzato in Java che i programmatori hanno bisogno di ottenere il blocco di prima che diventino veramente pratico . Multithreading
Uno degli argomenti avanzati in Java è quello di rendere il vostro programma di eseguire diversi compiti all'unisono , o multithread . Ciascuna serie di compiti un programma sta eseguendo in un dato istante è chiamato thread. Ciascun filo è inserito in una coda dal sistema informatico per ricevere tempo di elaborazione su uno dei processori del computer . Tuttavia, è necessario assicurarsi che i fili necessari vengono lanciati , terminare al momento opportuno , e non provocano un sovraccarico delle risorse di sistema .
Concorrenza
Multithreading introduce anche il tema della concorrenza . Se un programma ha una serie centrale di variabili , allora uno dei thread nel vostro programma può accedere e modificare i valori di queste variabili . Tuttavia, le discussioni non sono automaticamente a conoscenza di un altro o che cosa è stato fatto. Se due thread stanno modificando la stessa variabile , è del tutto possibile che un thread potrebbe modificare una variabile nel mezzo di un altro thread lavorare con esso . Questo porta alla corruzione dei dati. Garantire che le discussioni non viaggio a vicenda nel lavoro con le variabili centrali si chiama concorrenza .