or
Questo esercizio fa parte del corso
In questo capitolo svilupperai competenze fondamentali nell’analisi dell’efficienza del software. Imparerai a valutare la complessità in tempo e spazio e a confrontare le prestazioni di set, map e list. Al termine, avrai le basi analitiche per valutare le prestazioni del software e scegliere le strutture dati più adatte per le tue applicazioni Java.
Questo capitolo ti fornisce le tecniche essenziali per misurare le prestazioni delle applicazioni Java. Imparerai a individuare i colli di bottiglia usando System.nanoTime(), comprendere l’architettura della memoria della JVM, tracciare l’uso di memoria e CPU ed esplorare come garbage collection e compilazione JIT influenzano l’efficienza del tuo codice.
In questo capitolo imparerai a sfruttare il multi-threading sia con oggetti Thread sia con stream paralleli per eseguire operazioni in concorrenza. Esplorerai anche i pool di thread con ExecutorService e la programmazione asincrona con CompletableFuture.
Esercizio attuale