🤔 Что означает понятие "позднее связывание" (late binding) в Java?
Anonymous Quiz
16%
Связывание метода с объектом во время компиляции
32%
Задержка загрузки класса до момента его первого использования
40%
Определение метода для вызова во время выполнения программы
12%
Связывание всех методов после запуска программы
👍1🔥1
🤔 Можно ли объявить интерфейс как final?
Anonymous Quiz
14%
Да
77%
Нет
6%
Только через static
3%
Только через abstract
👍1
🤔 Что такое CopyOnWrite коллекции?
Это коллекции, где любое изменение создаёт копию всей структуры. Подход полезен при:
- большом количестве чтений и редких изменениях;
- потокобезопасности без синхронизации.
Примеры:
- CopyOnWriteArrayList;
- CopyOnWriteArraySet.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Это коллекции, где любое изменение создаёт копию всей структуры. Подход полезен при:
- большом количестве чтений и редких изменениях;
- потокобезопасности без синхронизации.
Примеры:
- CopyOnWriteArrayList;
- CopyOnWriteArraySet.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
👍4🔥2
🤔 Какой метод класса java.util.Collections используется для создания синхронизированной коллекции?
Anonymous Quiz
59%
synchronizedCollection()
32%
synchronized()
5%
syncCollection()
3%
synchronizedWrapper()
👍1
🤔 Что известно о том, как надо реализовывать equals()?
При реализации:
1. Проверить this == obj.
2. Проверить obj == null.
3. Сравнить классы.
4. Привести к нужному типу.
5. Сравнить поля (обычно те, что участвуют в hashCode).
Также нужно переопределить hashCode(), чтобы правило контрактов соблюдалось.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
При реализации:
1. Проверить this == obj.
2. Проверить obj == null.
3. Сравнить классы.
4. Привести к нужному типу.
5. Сравнить поля (обычно те, что участвуют в hashCode).
Также нужно переопределить hashCode(), чтобы правило контрактов соблюдалось.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
🔥2
🤔 Какой интерфейс должен реализовать класс для использования в операторе "for-each"?
Anonymous Quiz
33%
Iterator
59%
Iterable
6%
Collection
1%
List
👍1
🤔 Какой из перечисленных классов является наследником класса InputStream?
Anonymous Quiz
8%
FileReader
8%
BufferedReader
58%
FileInputStream
27%
InputStreamReader
👍2
🤔 Что такое связка try-catch-finally?
Это конструкция для обработки исключений:
- try — блок кода, где может произойти ошибка.
- catch — перехватывает и обрабатывает исключение.
- finally — выполняется всегда, независимо от того, было ли исключение.
finally используется для освобождения ресурсов, закрытия файлов, соединений и т.д.
Особенности класса String?
- Неизменяемый (immutable) — нельзя изменить строку после создания.
- Хранится в String Pool при использовании литералов.
- Имеет переопределённые equals и hashCode, что делает его удобным для коллекций.
- Часто используется и оптимизирован под производительность.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
- try — блок кода, где может произойти ошибка.
- catch — перехватывает и обрабатывает исключение.
- finally — выполняется всегда, независимо от того, было ли исключение.
finally используется для освобождения ресурсов, закрытия файлов, соединений и т.д.
Особенности класса String?
- Неизменяемый (immutable) — нельзя изменить строку после создания.
- Хранится в String Pool при использовании литералов.
- Имеет переопределённые equals и hashCode, что делает его удобным для коллекций.
- Часто используется и оптимизирован под производительность.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
👍3
🤔 Какой функциональный интерфейс применяется для лямбда-выражений, принимающих один аргумент и возвращающих логическое значение?
Anonymous Quiz
67%
Predicate
19%
Function
5%
Consumer
9%
Supplier
👍2
🤔 Что такое «Escape Analysis» в Java?
Anonymous Quiz
21%
Анализ времени выполнения для избежания deadlock
34%
Оптимизация JVM, анализирующая область видимости объектов
11%
Техника анализа строки на предмет внедрения SQL
34%
Анализ потоков данных для предотвращения утечек памяти
🔥2👍1
🤔 Что такое deadlock?
Deadlock или взаимная блокировка — это ситуация в многопоточном программировании, когда два или более потоков бесконечно ждут ресурсов, захваченных друг другом, ни один из них при этом не может продолжить выполнение. Deadlock возникает, когда выполняются все четыре условия: взаимное исключение, удержание и ожидание, отсутствие принудительного отбора и циклическое ожидание. Это серьезная проблема в проектировании и исполнении программ, требующая внимательного управления доступом к ресурсам.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
👍5🔥2
🤔 Какая основная роль интерфейса "EventListener"?
Anonymous Quiz
3%
Генерировать события
16%
Устанавливать слушателей
81%
Слушать и обрабатывать события
0%
Удалять события
👍2
🤔 Чем стек отличается от очереди?
- Стек (Stack) — работает по принципу LIFO (последний пришёл — первый вышел).
- Очередь (Queue) — работает по принципу FIFO (первый пришёл — первый вышел).
Они используются для разных алгоритмов: стек — для рекурсий, парсинга; очередь — для обработки задач по порядку.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
- Стек (Stack) — работает по принципу LIFO (последний пришёл — первый вышел).
- Очередь (Queue) — работает по принципу FIFO (первый пришёл — первый вышел).
Они используются для разных алгоритмов: стек — для рекурсий, парсинга; очередь — для обработки задач по порядку.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
👍2🔥2
🤔 Какой из следующих классов предоставляет методы для форматирования строк на основе шаблонов?
Anonymous Quiz
41%
StringFormatter
26%
Formatter
10%
StringBuilder
23%
StringFormat
👍2
🤔 Какой метод используется для создания параллельного потока из коллекции?
Anonymous Quiz
73%
parallelStream()
19%
parallel()
6%
streamParallel()
3%
parallelize()
👍2
🤔 Как получить дамп потока?
Для получения дампа потоков можно использовать:
- Команду jstack <pid> в консоли;
- Через отладчик в IDE;
- С помощью кода: Thread.getAllStackTraces().
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Для получения дампа потоков можно использовать:
- Команду jstack <pid> в консоли;
- Через отладчик в IDE;
- С помощью кода: Thread.getAllStackTraces().
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
🔥3
🤔 Какой из следующих классов не является потокобезопасным?
Anonymous Quiz
76%
StringBuilder
16%
StringBuffer
4%
ConcurrentHashMap
4%
CopyOnWriteArrayList
👍2
🤔 Какую роль играет метод finalize()?
Anonymous Quiz
89%
Освобождение ресурсов до сборки мусора
2%
Инициализация объекта
9%
Остановка потока
0%
Клонирование объекта
👍2
🤔 Почему ArrayList и массив «под капотом» является краеугольным камнем?
Потому что ArrayList использует обычный массив, и этот подход:
- обеспечивает мгновенный доступ по индексу (O(1)),
- позволяет автоматически расширять внутреннюю ёмкость,
- экономит память (компактно хранит данные).
Эта структура — основа для большинства операций, где важна скорость чтения.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Потому что ArrayList использует обычный массив, и этот подход:
- обеспечивает мгновенный доступ по индексу (O(1)),
- позволяет автоматически расширять внутреннюю ёмкость,
- экономит память (компактно хранит данные).
Эта структура — основа для большинства операций, где важна скорость чтения.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
💊8🤔2
🤔 Что произойдет, если вызвать метод run() у объекта Thread напрямую?
Anonymous Quiz
11%
Создаст новый поток
70%
Запустит метод run() в текущем потоке
15%
Генерирует ошибку компиляции
4%
Создаст демона-поток
👍3