В чём различие между StringBuilder и StringBuffer?
Ответ:
StringBuffer — синхронизированный класс. Его методы защищены от одновременного доступа из разных потоков, что делает его безопасным для многопоточной среды. Однако синхронизация снижает производительность, поэтому в однопоточных программах использование StringBuffer неоправданно.
StringBuilder — несинхронизированный аналог. Он не обеспечивает защиту от одновременного доступа, но работает заметно быстрее за счёт отсутствия накладных расходов на синхронизацию. Поэтому его применяют в однопоточных сценариях, где важна скорость.
Проще говоря, StringBuffer — для многопоточности, StringBuilder — для скорости в одном потоке.
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥3❤1
В статье подробно разбирается, как JVM запускает программу: от ввода команды и проверки окружения до загрузки классов и выполнения байт-кода.
Автор объясняет ключевые этапы процесса, показывая, что происходит «под капотом» при старте Java-приложения.
tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2🔥1
Какие методы могут находиться в интерфейсе?
Ответ:
Таким образом, интерфейс может не только задавать контракт, но и содержать общую реализацию и вспомогательные методы.
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥4❤2
В статье подробно рассматриваются методы маппинга данных типа «дата и время» в Hibernate и JPA.
Автор объясняет, как правильно использовать современные классы из пакета
java.time, такие как LocalDate, LocalDateTime и ZonedDateTime, а также обсуждает нюансы работы с часовыми поясами и устаревшими типами java.util.Date и Calendar.tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥2❤1
👍5❤1
В статье собраны 15 универсальных паттернов, на которых держится большинство задач LeetCode — от префиксных сумм и двух указателей до backtracking и динамического программирования.
Каждый шаблон сопровождается объяснением, примерами задач и ссылками на решения, чтобы быстрее узнавать знакомые подходы и уверенно проходить алгоритмические интервью.
tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥1
Как работает автоматическое приведение типов в Java?
Ответ:
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍3🔥2
В видео разбирается, как работают виртуальные потоки в Java, чем они отличаются от обычных, и как позволяют запускать тысячи задач без перегрузки памяти.
Автор сравнивает блокирующий, асинхронный и виртуальный подходы, показывает примеры кода и объясняет, как виртуальные потоки упрощают масштабирование.
tags: #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤3🔥3
Какие объекты можно хранить в множестве?
Ответ:
Чаще всего в Set кладут объекты простых типов (обёртки вроде Integer, String, Boolean), а также собственные классы — но в этом случае важно переопределить equals() и hashCode(), чтобы корректно сравнивать элементы.
Если эти методы не переопределены, множество будет считать разные экземпляры одного и того же объекта разными элементами, даже если их поля совпадают.
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🔥2👨💻1
В статье подробно разбирается, как уязвимость XXE проявляется в Java-приложениях — от чтения локальных файлов до выполнения SSRF и OOB-атак.
Автор показывает на примерах, какие XML-парсеры и их настройки делают систему уязвимой, и предлагает конкретные способы защиты.
tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍2🔥2
Как в Java обрабатываются одновременные изменения коллекций?
Ответ:
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2❤1💯1
Делимся книгой для тех, кто хочет освоить SQL не поверхностно, а на уровне логики и структуры языка.
В ней показано, как создается и организуется база данных в PostgreSQL, как работают запросы, транзакции и оптимизация — всё, что нужно, чтобы понимать систему изнутри, а не просто повторять готовые шаблоны.
tags: #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7❤2
Почему
synchronized не работает с volatile?Ответ:
Если несколько потоков одновременно обновляют volatile-переменную, они могут перезаписывать изменения друг друга, так как нет механизма блокировки.
Для атомарных операций лучше использовать synchronized, Lock или Atomic-переменные.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤3
В статье объясняется, как интегрировать RabbitMQ с Java Spring для реализации асинхронной обработки данных.
Автор показывает настройку RabbitMQ, создание продюсеров и потребителей, а также использование очередей для взаимодействия микросервисов.
tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1🔥1