Заметки к занятиям: 1. Объектно-ориентированное программирование Java 1. Вводные замечания - как можно проходить курс, сдача дз, сроки, оценки - коммуникация в процессе - форум занятия, телеграм-чат, личка - рекомендации к чтению, список навыков, тест, git 2. Основная тема - три ключевых понятия ООП - отличие класса от объекта - конструкторы, параметрические конструкторы, this - инкапуляция (сокрытия и связывание), модификаторы доступа - наследование и полиморфизм, super, переопределение методов - абстрактные методы и классы - ключевое слово final - интерфейсы и их реализация - перечисления, внутренние и вложенные классы 2. Исключения 1. Вводные замечания, разбор дз - чтение дополнительной литературы - базовое дз 8 - сдача теста + github - вопросы по интервью https://jsehelper.blogspot.ru/2016/01/java-core-1.html 2. Основная тема - определение исключений - иерархия (картинка) checked и uncheked исключения - демонстрация (деление на ноль), в отдельном методе - блоки try-catch, вывод описания printStackTrace() - несколько catch, учёт иерархии, недостижимый код - throw и throws - выбрасывание и пробрасывание исключений - по дз упрощение NumberFormatException и ArrayIndexOutOfBoundsException 3. Коллекции 1. Вводные замечания, разбор дз - обратить внимание на ссылки, напомнить про тест - разбор дз, акцент на выполнение пунктов задания 2. Основная тема - коллекции, Java Collection Framework (JCF) - определение, иерархия, где интерфейсы, где классы - интерфейс List - ArrayList и LinkedList - интерфейс Set - HashSet и TreeSet - интерфейс Map - HaspMap и TreeMap - шаблон проектирования Wrapper/Decorator + показать исходный код класса Integer 4. Продвинутые вопросы создания графического интерфейса 1. Вводные замечания, разбор дз 2. Основная тема 5. Многопоточность 1. Вводные замечания, разбор дз - напомнить про тест и работу со своим git - порекомендовать https://www.youtube.com/watch?v=Ok81Ue2mu0A курс разработки на Java - разбор дз 2. Основная тема - класс Thread и интерфейс Runnable, класс Object - два способа создания потоков: реализация Runable или наследование от Thread - приоритеты потоков (1..10), константы Thread.MAX_PRIORITY, Thread.MIN_PRIORITY - ожидание завершения потоков, методы isAlive() и join() - синхронизация 6. Работа с сетью 1. Вводные замечания, разбор дз 2. Основная тема - классы ServerSocket и Socket - написание и разбор работы HelloServer и HelloClient - разбор работы SimpleServer и SimpleClient 7. Написание сетевого чата. Часть 1 1. Вводные замечания, разбор дз 2. Основная тема - основы JDBC, разбор MakeDBFile.java - модицикация SimpleClient.java - модицикация SimpleServer.java 8. Написание сетевого чата. Часть 2