Channel: Java Developer
В видео разбирается, как работают виртуальные потоки в Java, чем они отличаются от обычных, и как позволяют запускать тысячи задач без перегрузки памяти.
Автор сравнивает блокирующий, асинхронный и виртуальный подходы, показывает примеры кода и объясняет, как виртуальные потоки упрощают масштабирование.
tags: #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
В статье рассматриваются причины, по которым исключения в Java не прижились, и предлагаются альтернативные подходы к обработке ошибок — от классических
try/catch
до Typed Errors
с использованием Kotlin и библиотеки Arrow.Автор делится практическим опытом и показывает, когда лучше использовать исключения, а когда — функциональные конструкции вроде
Either
.tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
Высшее на новом уровне: онлайн-магистратура от Яндекса и ИТМО. Здесь фундаментальные знания и практика для карьерного роста, а ещё — учёба, которую можно совмещать с работой и жизнью.
IT‑специальность с экспертизой Яндекса + диплом магистра гособразца = новая ступень в карьере. Приёмная кампания уже идёт!
Все подробности — на дне открытых дверей:
— Разбор совместной программы с ИТМО.
— Всё о формате прикладной онлайн-магистратуры: что взяли от классического высшего, а что добавили из опыта специалистов Яндекса.
— Общение с экспертами из вуза и ответы на вопросы.
— Всё про поступление: сроки, экзамены, документы, оплата и образовательный кредит.
▷ Ждём вас 26 июня в 19:00 мск.
→ Зарегистрироваться на встречу
IT‑специальность с экспертизой Яндекса + диплом магистра гособразца = новая ступень в карьере. Приёмная кампания уже идёт!
Все подробности — на дне открытых дверей:
— Разбор совместной программы с ИТМО.
— Всё о формате прикладной онлайн-магистратуры: что взяли от классического высшего, а что добавили из опыта специалистов Яндекса.
— Общение с экспертами из вуза и ответы на вопросы.
— Всё про поступление: сроки, экзамены, документы, оплата и образовательный кредит.
▷ Ждём вас 26 июня в 19:00 мск.
→ Зарегистрироваться на встречу
Please open Telegram to view this post
VIEW IN TELEGRAM
В видео разбираются основные архитектурные паттерны, которые помогают строить надёжные и масштабируемые системы: CQRS, Pub/Sub, Event Sourcing, Circuit Breaker и другие.
Автор объясняет, как и зачем они применяются, с примерами, плюсами и ограничениями каждого подхода.
tags: #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
За счёт чего достигается синхронизация в ConcurrentHashMap?
Ответ:
Когда происходит вставка, карта сначала пытается разместить элемент в нужной ячейке массива table с помощью атомарной операции CAS (Compare-And-Swap). Это безблокирующий способ записи: если ячейка пуста, значение вставляется безопасно без захвата монитора.
Если в ячейке уже есть другие элементы и простая вставка невозможна, используется synchronized, но только на уровне конкретного узла (Node). Это означает, что блокировка применяется локально, не затрагивая всю карту, и другие потоки могут параллельно работать с другими ячейками.
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
В статье простыми словами объясняется, как устроены массивы и как работает бинарный поиск «под капотом» — с наглядными примерами и аналогиями.
Вы шаг за шагом узнаете, как реализовать бинарный поиск на Java, какие ошибки могут возникнуть в процессе и как их исправить.
tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
В видео подробно разбирается, как выстроить систему безопасности в Spring-проекте: от базовой аутентификации до кастомной авторизации с JWT и хранением пользователей в базе.
Автор показывает полный путь — конфигурация, разграничение доступа, работа с ролями, пермишинами и безопасный логин через форму или токен.
tags: #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Можно ли явно передать управление другому потоку?
Ответ:
Единственный способ заставить поток уступить процессор — это привести его в состояние блокировки: с помощью wait(), join(), LockSupport.park() или блокировок (synchronized, ReentrantLock и др.). Это приостанавливает выполнение до выполнения условий разблокировки, но даже в этом случае нельзя указать, какой именно поток будет следующим — планировщик сам решает порядок.
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
В статье разбираются неожиданные подводные камни при вычислении абсолютного значения
double
в Java, связанные с существованием +0.0
и -0.0
.Автор показывает, как корректно и эффективно реализовать метод
abs()
, чтобы избежать ошибок и снизить издержки, вплоть до безветвленного варианта на битовых операциях.tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
HTML Embed Code: