Это детальный план курса Java Core. Так же Вы можете посмотреть главную страницу курса, материалы, материалы для углубленного изучения, контроль входных знаний, контроль выходных знаний.
1. Классы.
1.? Классы и интерфейсы
1.? Абстрактные классы
1.? Области видимости полей, методов, классов.
1.? static: методы/поля объекта/класса.
1.? inner-классы, nested-классы.
1.? enum
2. Наследование/иерархии классов: наследование, перегрузка, переопределение.
2.? Наследование полей, наследование методов.
2.? Конструирование экземпляра класса, имеющего предков.
2.? Есть ли переопределение статических методов?
2.? "Тяжелый" пример: двойная диспетчеризация.
2.? "Тяжелый" пример: паттерн Visitor.
3. Методы: рекурсия, передача по ссылке/по значению, vararg.
4. Память: стек, куча, PemGen, «уборка мусора», локальные переменные, «глобальные переменные» (статические поля),
Object.finalize(), Object.clone().
5. Типы: примитивы, классы-обертки, autoboxing.
6. Collection API: архитектура пакета коллекций (Collection, List, Set, Map, SortedSet, SortedMap, Iterable, Iterator,
Comparable, Comparator), основные реализации и их внутреннее устройство (ArrayList, LinkedList, HashMap, TreeMap, HashSet,
TreeSet), «устаревшие коллекции» (Vector, Stack, Hashtable, Enumeration).
7. Java I/O: byte-ориентированные (InputStream/OutputStream), char-ориентированные (Reader/Writer), java type-
ориентированные (DataInput/DataOutput), классы-адаптеры, классы-декораторы, работа с файлами.
8. Exceptions: базовая иерархия (Throwable, Error, Exception, RuntimeException), cheched/unchecked exceptions, stack trace,
обработка исключений, методы работы с исключениями в коммерческих проектах.
8.1 "Ядро" иерархии исключительных ситуаций
Throwable
Error
Exception
RuntimeException
8.1 Наиболее популярные исключительные ситуаций в виде иерархии
Throwable
Error
OutOfMemoryError
Exception
CloneNotSupportedException
InterruptedException
IOException
FileNotFoundException
RuntimeException
NulPointerException
ClassCastException
IndexOutOfBoundsException
ArrayStoreException
IllegalMonitorStateException
ConcurrentModificationException
NoSuchElementException
UnsupportedOperationException
IllegalArgumetException
NumberFormatException
8.3 Обработка исключений - ключевые слова throws, throw, try, catch, finally.
8.4 Учет отношения наслелования при обработке исключений.
9. Threads
9.1 Классы JDK — Thread, Runnable. Методы класса Thread (currentThread, start, run, getState), потоки-демоны.
9.2 Прерывание работы потока: методы класса Thread запрещенные (stop, suspend, resume, destroy), псевдо (sleep, yield, join)
и предусмотренные (interrupt, interrupted, isInterrupted).
9.3 Ключевое слово — synchronized, взаимное исключение (mutual exclusion).
9.4 Ключевое слово — synchronized, условное ожидание (conditional waiting), состояние потока Thread.State, методы общие для
всех объектов - wait(), notify(), notifyAll(), реализация циклического буфера.
9.5 Ключевое слово volatile, представление о JMM, synchronized и JMM, передача данных между потоками и JMM, safe publishing.
10. Принципы ООП: полиморфизм, инкапсуляция, наследование, абстракция.
1. Классы.
1.? Классы и интерфейсы
1.? Абстрактные классы
1.? Области видимости полей, методов, классов.
1.? static: методы/поля объекта/класса.
1.? inner-классы, nested-классы.
1.? enum
2. Наследование/иерархии классов: наследование, перегрузка, переопределение.
2.? Наследование полей, наследование методов.
2.? Конструирование экземпляра класса, имеющего предков.
2.? Есть ли переопределение статических методов?
2.? "Тяжелый" пример: двойная диспетчеризация.
2.? "Тяжелый" пример: паттерн Visitor.
3. Методы: рекурсия, передача по ссылке/по значению, vararg.
4. Память: стек, куча, PemGen, «уборка мусора», локальные переменные, «глобальные переменные» (статические поля),
Object.finalize(), Object.clone().
5. Типы: примитивы, классы-обертки, autoboxing.
6. Collection API: архитектура пакета коллекций (Collection, List, Set, Map, SortedSet, SortedMap, Iterable, Iterator,
Comparable, Comparator), основные реализации и их внутреннее устройство (ArrayList, LinkedList, HashMap, TreeMap, HashSet,
TreeSet), «устаревшие коллекции» (Vector, Stack, Hashtable, Enumeration).
7. Java I/O: byte-ориентированные (InputStream/OutputStream), char-ориентированные (Reader/Writer), java type-
ориентированные (DataInput/DataOutput), классы-адаптеры, классы-декораторы, работа с файлами.
8. Exceptions: базовая иерархия (Throwable, Error, Exception, RuntimeException), cheched/unchecked exceptions, stack trace,
обработка исключений, методы работы с исключениями в коммерческих проектах.
8.1 "Ядро" иерархии исключительных ситуаций
Throwable
Error
Exception
RuntimeException
8.1 Наиболее популярные исключительные ситуаций в виде иерархии
Throwable
Error
OutOfMemoryError
Exception
CloneNotSupportedException
InterruptedException
IOException
FileNotFoundException
RuntimeException
NulPointerException
ClassCastException
IndexOutOfBoundsException
ArrayStoreException
IllegalMonitorStateException
ConcurrentModificationException
NoSuchElementException
UnsupportedOperationException
IllegalArgumetException
NumberFormatException
8.3 Обработка исключений - ключевые слова throws, throw, try, catch, finally.
8.4 Учет отношения наслелования при обработке исключений.
9. Threads
9.1 Классы JDK — Thread, Runnable. Методы класса Thread (currentThread, start, run, getState), потоки-демоны.
9.2 Прерывание работы потока: методы класса Thread запрещенные (stop, suspend, resume, destroy), псевдо (sleep, yield, join)
и предусмотренные (interrupt, interrupted, isInterrupted).
9.3 Ключевое слово — synchronized, взаимное исключение (mutual exclusion).
9.4 Ключевое слово — synchronized, условное ожидание (conditional waiting), состояние потока Thread.State, методы общие для
всех объектов - wait(), notify(), notifyAll(), реализация циклического буфера.
9.5 Ключевое слово volatile, представление о JMM, synchronized и JMM, передача данных между потоками и JMM, safe publishing.
10. Принципы ООП: полиморфизм, инкапсуляция, наследование, абстракция.