В этой статье речь пойдёт о том, что помогает избежать конфликтов зависимостей и проблем с изоляцией, возникающих при запуске нескольких приложений на одном сервере.
Рассмотрим, как работает контейнеризация и какие инструменты помогают сделать её максимально эффективной.
tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍3🔥2😁1
👍11❤4
Делимся полезной шпаргалкой по StringBuilder — всё самое основное с примерами использования.
tags: #обучение
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤36😎20👍4💯1
В статье рассказывается, как использовать Mockito для написания модульных тестов в Java без зависимости от реальных сервисов и баз данных.
Автор объясняет, как создавать моки, задавать их поведение и проверять вызовы — с примерами кода и интеграцией с JUnit.
tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍3🔥1
Почему
@Transactional не работает при вызове метода внутри того же класса?Ответ:
Чтобы транзакция была активна, метод должен вызываться через прокси, например, путём внедрения собственного бина или получения его из ApplicationContext. Если требуется перехват внутренних вызовов, стоит использовать AspectJ — он работает на уровне байткода и не зависит от прокси-механизма.
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍5🔥2
В статье объясняется, что такое GRASP — набор принципов для проектирования архитектуры и распределения ответственности между классами.
Автор сравнивает GRASP с SOLID и показывает, почему на ранних этапах разработки именно GRASP может дать более прочную основу.
tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2❤1🔥1
😁19❤3
В статье рассказывается, как интегрировать gRPC в Spring Boot-проект на Java 17 для построения более быстрых и типобезопасных микросервисов.
Автор показывает настройку .proto-файлов, подключение через Maven и реализацию клиент-серверного взаимодействия с использованием Spring Cloud, Eureka и OAuth 2.0.
tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤2
Можно ли явно передать управление другому потоку?
Ответ:
Единственный способ заставить поток уступить процессор — это привести его в состояние блокировки: с помощью wait(), join(), LockSupport.park() или блокировок (synchronized, ReentrantLock и др.). Это приостанавливает выполнение до выполнения условий разблокировки, но даже в этом случае нельзя указать, какой именно поток будет следующим — планировщик сам решает порядок.
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥2❤1