Получаемые навыки:
Основные конструкции языка, объекты и классы. Ввод и вывод в Java - консольный, файловый, сетевой. Интерфейсы и абстрактные классы, анонимные классы. Лямбда-функции. Сетевое взаимодействие, сокеты. Механизм исключений. Проверяемые и непроверяемые исключения. Потоки - жизненный цикл, прерывание. Критическая секция. Проблемы взаимодействия (дедлок). Механизм wait/notify, блокирующие очереди producer/consumer. Коллекции, выбор структуры данных, подходящей для задачи.
Параметризованные коллекции. Параметризация в Java.