Функция случайных вопросов поможет вам подумать и проверить свои знания.
Попробуйте ответить на вопросы устно или в уме, а затем нажмите на сам вопрос, чтобы сравнить свой ответ и проанализировать его.
Что вы упустили? А может быть, вы знаете гораздо больше? Так или иначе, это хорошая практика. :)
В базе данных хранится около 500 вопросов, охватывающих различные темы из категорий таких как Core-1, Core-2, Многопоточность, SQL, Hibernate, Spring, Паттерны, Алгоритмы.
В категории M-BOSS находятся вопросы, которые могут встречаться на технических собеседованиях Java - разработчиков. (взято из открытых источников)
Приглашаю вас присоединиться к телеграм-группе для обратной связи и получения информации о будущих обновлениях! Хочу вас также пригласить в дискорд, для общения на различные темы о Java и не только в ламповой атмосфере.
Дискорд будет пополняться не сложными практическими задачами, которые будут помогать прокачивать навыки технического мышления!
Заходите на канал "задачи-по-java" и оттачивайте свои навыки!
Помните: Именно кропотливый труд над собой, делает из вас профессионала высокого уровня!
Приятного обучения!

Почему String неизменяемый и финализированный класс?

Core - 1

Класс `String` в Java является неизменяемым и финализированным по нескольким причинам: 1. Безопасность: Неизменяемость `String` обеспечивает безопасность данных, особенно при работе с многопоточностью. Поскольку строки не могут быть изменены после создания, они могут быть безопасно переданы между различными частями программы, не подвергаясь несанкционированным изменениям. 2. Хеширование: Использование неизменяемых строк позволяет использовать строки в качестве ключей в хеш-таблицах и других структурах данных, где требуется уникальность и непрерывность хеш-кода. Если бы строки были изменяемыми, изменение строки могло бы привести к непредсказуемым изменениям хеш-кода и нарушению структуры данных. 3. Пул строк: В Java существует механизм пула строк, который позволяет повторно использовать уже созданные строки. Благодаря неизменяемости строк, разные переменные могут ссылаться на один и тот же объект строки в пуле, что помогает экономить память и улучшать производительность. 4. Оптимизация памяти: Неизменяемость `String` позволяет проводить различные оптимизации памяти. Например, компилятор может совместно использовать один и тот же объект строки для нескольких литералов строк в коде, что позволяет сэкономить память. Финализированность класса `String` означает, что он не может быть наследован другими классами. Это сделано для сохранения безопасности и целостности класса `String` , чтобы предотвратить изменение его основных свойств и поведения.

Открыть

Копировать ссылку

ДРУГОЙ ВОПРОС