Программирование на Java с нуля - продвинутый уровень

Описание:

Очень подробно разберём самые популярные коллекции из Java Collections Framework и напишем свои реализации многих. А также включены темы:
- иерархия классов в коллекциях
- чем отличаются коллекции Set и List
- в каких случаях стоит использовать ArrayList, LinkedList, HashSet
- как устроена память в Java
- правила для методов equals и hashcode и зачем нужны эти методы
- что представляет из себя интерфейс Map, основные методы
- как устроен HashMap изнутри
- что такое коллизия, и как она разрешается в коллекции HashMap
- основные реализации коллекции Set, чем они отличаются друг от друга
- как устроена коллекция HashSet

Что такое Generics (обобщения)
- как и для чего используются ключевые слова extends и super в обобщённых типах (дженериках)
- что такое wildcard (или маска)
- как работают дженерики и как ими пользоваться

Глубоко разберем одну из самых сложных тем в Java - многопоточное программирование, поработаем с файлами, потоками ввода-вывода, Stream API и многое другое:
- способы создания потоков, какой из них предпочтительнее и почему
- что делают методы: wait, notify и notifyAll, зачем они нужны
- что такое Deadlock
- синхронизированные коллекции
- зачем нужен ExecutorService
- что такое поток-демон
- атомарные типы данных и для чего они нужны
- что такое функциональный интерфейс
- что делает метод stream
- зачем нужно преобразовывать коллекции в потоки данных
- способы создания стримов
- терминальные и промежуточные операторы, чем они отличаются
- что общего и чем отличаются классы: InputStream, OutputStream, Reader, Writer
- как превратить данные из файлов в поток байтов
- что такое сериализация и десериализация

Максим

Персональный помощник

Максим

Добро пожаловать на наш сайт. Как я могу Вам сегодня помочь?