or
Den här övningen är en del av kursen
I det här kapitlet utvecklar du grundläggande färdigheter inom analys av mjukvarueffektivitet. Du lär dig att utvärdera tids- och rymdkomplexitet samt jämföra prestanda för mängder, mappningar och listor. När du är klar har du den analytiska grund som krävs för att bedöma mjukvaruprestanda och välja lämpliga datastrukturer för dina Java-applikationer.
Det här kapitlet ger dig de tekniker du behöver för att mäta prestanda i Java-applikationer. Du lär dig att identifiera flaskhalsar med System.nanoTime(), förstå JVM:ens minnesarkitektur, följa minnes- och CPU-användning samt undersöka hur skräpsamling och JIT-kompilering påverkar kodens effektivitet.
I det här kapitlet lär du dig att utnyttja flertrådning med både Thread-objekt och parallella strömmar för att köra operationer parallellt. Du utforskar även trådpooler med ExecutorService och asynkron programmering med CompletableFuture.
Aktuell övning