- •Темы для докладов для семинарских занятий по Java на базе научно-практической платформы ивМиИт.
- •Итак, темы: Язык Java.
- •Базовые элементы языка Java.
- •Основы ооп.
- •Интерфейсы и наследование. Продвинутое ооп.
- •Исключения.
- •*Рефлексия и сериализация.
- •Вспомогательные средства разработки.
- •Паттерны проектирования.
- •*Jdk 1.8.
Исключения.
38) Что такое исключения? Когда они возникают? Какие бывают типы исключений? Опишите основные классы исключений.
39) Обработка исключений. Конструкция try-catch-finally.
40) Множественные блоки catch. Вложенные конструкции try.
41) Выброс исключений. Ключевые слова throw и throws.
42) Собственные классы исключений.
43) Новое в JDK 1.7 – try-с-ресурсами.
Многопоточность.
44) Что такое многопоточность? Зачем ее применять? Класс Thread.
45) Создание нового потока. Интерфейс Runnable.
46) Синхронизация потоков. Приоритеты потоков.
47) Передача данных между потоками. Метод join().
48) Оператор synchronized.
49) Пауза и остановка потока. Почему метод stop() стал нежелательным?
50) Работа с состояниями потоков.
51) Ключевое слово volatile.
52) Атомарные классы.
53) *Fork Join Framework.
54) Потоки-демоны.
Новое в JDK 1.5.
55) Перечисления.
56) Оболочки типов. Автоупаковка и автораспаковка.
57) Переменное количество аргументов в методе.
58) Статический импорт.
59) Параметризованные классы – Generics. Какой подход для создания обобщенного класса использовался раньше, и его минусы.
60) * Аннотации. Применение аннотаций.
Работа со строками.
61) Класс String как неизменяемый объект. Конструкторы класса String.
62) Методы класса String.
63) Классы StringBuffer и StringBuilder.
64) Класс StringTokinizer.
65) Пакет java.text и его основные классы.
66) *Регулярные выражения. Пакет java.util.regex.
Работа с текстовыми файлами.
67) Работа с текстовыми файлами. Потоки ввода и вывода.
68) Считывание и запись в файлы. Рассмотреть разные способы.
69) Пакет java.nio.
Обобщения.
70) Обобщения. Что такое и зачем используется?
71) Обобщенный класс с несколькими параметрами.
72) Ограничение обобщений. Конструкции вида <? extends SuperClass>.
73) Обобщенные интерфейсы. Реализация обобщенных интерфейсов.
Пакет java.lang.
74) Какие классы содержит этот пакет? Опишите кратко каждый из них.
75) Класс Math. Методы этого класса.
76) Класс Runtime.
77) Класс Throwable. Класс StackTraceElement.
78) Основные исключения пакета java.lang.
Коллекции.
79) Что такое коллекция данных? Зачем нужны коллекции?
80) Иерархия коллекций в пакете java.util.
81) Интерфейс List. Рассказать об основных методах.
82) Класс Stack. Принципы работы, его применение.
83) Класс Queue. Принципы работы, его применение.
84) Класс ArrayList. Основные методы, преимущества и недостатки.
85) Класс LinkedList. Основные методы, преимущества и недостатки.
86) Класс HashMap. Основные методы работы. Как работать с этим классов в цикле foreach?
87) Класс TreeSet. Основные методы.
88) Интерфейс Iterable. Применение. Как реализовать этот интерфейс для собственного класса?
89) Интерфейс Comparable. Применение. Как реализовать этот интерфейс для собственного класса?
*Рефлексия и сериализация.
90) Расскажите основные моменты рефлексии. Для чего она используется? Что она позволяет делать?
91) Расскажите о классах пакета java.lang.reflect
92) Что такое сериализация? Зачем она используется, как сериализовать объект, как выглядит сериализованный объект?
93) Алгоритм сериализации Java.
