- Основы работ Java программ
Основы Java, которые часто пропускают. Разберем, что такое classloaders, и как сделать настоящий immutable класс.
Реализовать программу, которая получает ключевое слово для поиска на Wikipedia, достает из результатов текст, и на основе динамически загружаемых плагинов на выходе формирует отчет и записывает результат в файл.
- Java Collections Framework
Подробно разберём внутреннее устройство коллекций, проанализируем алгоритмическую сложность, и научимся грамотно выбирать наиболее подходящую под конкретные виды задач.
Освоим навыки работы с потоками: способы их создания, свойства и особенности реализации. И самое главное — научимся решать емкие задачи кратко и лаконично.
Разберемся, как работают Garbage collectors, какими они бывают, чем отличаются друг от друга. Узнаем, почему может возникнуть утечка памяти и как с ней бороться.
Сравним две популярные системы сборки — Maven и Gradle. Научимся находить и правильно разрешать конфликты транзитивных зависимостей. Покажем, для чего в Gradle нужен wrapper и как написать свои таски.
Поговорим об atomicity, visibility и reorderinghappens-before. Разберем фундаментальные вещи, которые вводят энтропию в многопоточный код.
- Multithreading in Java + дополнительное задание
Расскажем, как делать правильный многопоточный конвейер и безопасно проводить финансовые операции в конкурентной среде.
Реализовать построчное чтение файла, многопоточную обработку текста, и запись результата в файл в отдельном потоке.