or
Ця вправа є частиною курсу
У цьому розділі ви розвинете базові навички аналізу ефективності програм. Ви навчитеся оцінювати часову та просторову складність і порівнювати продуктивність множин, мап і списків. Наприкінці у вас буде аналітична основа для оцінки продуктивності ПЗ та вибору відповідних структур даних для ваших застосунків Java.
Цей розділ озброїть вас основними техніками вимірювання продуктивності застосунків Java. Ви навчитеся визначати «вузькі місця» за допомогою System.nanoTime(), розуміти архітектуру пам'яті JVM, відстежувати використання пам'яті та CPU і досліджувати, як збірка сміття та JIT-компіляція впливають на ефективність вашого коду.
У цьому розділі ви навчитеся використовувати багатопотоковість як із об'єктами Thread, так і з паралельними потоками для паралельної обробки операцій. Ви також розглянете пули потоків із ExecutorService та асинхронне програмування з CompletableFuture.
Поточна вправа