Please open Telegram to view this post
VIEW IN TELEGRAM
😁28🤣20❤4
👍14🤯11🔥5😁2
Хэширование — это фундаментальный процесс в программировании, который применяется везде: от защиты паролей до ускорения поиска данных в структурах.
Эта статья поможет разобраться в основных видах хэшей, их применении, а также покажет, как их использовать на практике с примерами на Java.
tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤4👍1
Почему
Thread.sleep()
не освобождает монитор блокировки?Ответ:
Это происходит потому, что sleep() просто переводит поток в состояние ожидания (TIMED_WAITING), но не влияет на механизмы синхронизации. Пока поток “спит”, другие потоки не могут получить доступ к заблокированному ресурсу, так как монитор остается занятым.
Чтобы освободить монитор и дать другим потокам возможность выполнить код, необходимо использовать wait(), join(), Lock или Condition, которые позволяют явно управлять блокировкой и ожиданием.
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥5❤2
В статье на примере реального кейса из Amazon рассказывается о проблемах, которые могут возникнуть при переносе сервисов между архитектурами x86/64 и ARM из-за различий в моделях памяти.
Автор подробно объясняет, что такое модели памяти и барьеры памяти, делится личным опытом и предлагает визуально понятные материалы для глубокого понимания темы.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤1🔥1
Почему
synchronized
не работает с volatile
?Ответ:
Если несколько потоков одновременно обновляют volatile-переменную, они могут перезаписывать изменения друг друга, так как нет механизма блокировки.
Для атомарных операций лучше использовать synchronized, Lock или Atomic-переменные.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18❤4🔥2
NullPointerException
— одна из самых неприятных ошибок в Java, которая может неожиданно привести к сбоям в работе приложения и усложнить жизнь пользователям.В статье рассматриваются современные подходы к обеспечению null-безопасности в Spring-приложениях с использованием JSpecify и NullAway.
Что вы узнаете из статьи?
▶️ Почему NullPointerException остается одной из самых частых ошибок в Java?▶️ Как JSpecify позволяет управлять nullability на уровне API?▶️ В чем разница между JSpecify и NullAway, и когда использовать каждый из них?▶️ Как статический анализ помогает находить потенциальные ошибки на этапе компиляции?▶️ Как интегрировать null-безопасность в Spring-приложение без лишних сложностей?
Автор делится практическими рекомендациями по внедрению null-безопасности, которые снижают количество ошибок и делают код более устойчивым.
tags: #статья #spring
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3❤2
Почему
Phaser
эффективнее, чем CountDownLatch
, если фазы неизвестны заранее?Ответ:
Phaser позволяет:
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯7❤6👨💻3👍2
Java NIO (Non-blocking I/O) — это часть стандартной библиотеки Java, обеспечивающая работу с неблокирующими вводом-выводом, сокетами и буферами.
В статье рассматривается создание HTTP-сервера с использованием этого API, позволяющего эффективно обрабатывать множество соединений в одном потоке.
Что вы узнаете в статье?
▶️ Как настроить ServerSocketChannel и принимать соединения?▶️ Как управлять запросами через Selector в одном потоке?▶️ Как обработать HTTP-запрос и отправить ответ?▶️ В чем преимущества NIO перед блокирующими серверами?
Автор показывает ключевые приемы работы с Java NIO и объясняет, как применить их на практике.
tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍3
В чем
CompletableFuture
лучше, чем Future
?Ответ:
Основные преимущества:
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥3⚡2❤2
Что если мы скажем вам, что отладчик может стать не просто инструментом для поиска ошибок, а настоящим «режимом бога» в мире кода?
В статье рассматривается, как можно исследовать память приложения и изменить его функциональность, при этом не затрагивая исходный код, а используя только лишь отладчик IntelliJ IDEA.
tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍3🔥2
👍10❤5🔥4
Вышла общедоступная версия Java 24. В этот релиз попало около 2700 закрытых задач и 24 JEP'а.
Ключевые изменения:
▶️ Загрузка и связывание классов заранее (JEP 483): ускоряет запуск приложений за счет предварительной загрузки и связывания классов▶️ Stream Gatherers (JEP 485): расширяет Stream API поддержкой пользовательских промежуточных операций▶️ Оптимизация виртуальных потоков (JEP 491): снижает нагрузку на системные потоки и улучшает масштабируемость многопоточных приложений▶️ Постквантовая криптография (JEP 496, JEP 497): внедряет механизмы защиты данных от квантовых атак▶️ Удаление Security Manager (JEP 486): исключает устаревший механизм безопасности из Java▶️ Предупреждения при использовании sun.misc.Unsafe (JEP 498): поощряют переход на более безопасные API▶️ Улучшения в сборщиках мусора: снижают паузы и повышают производительность G1 и ZGC▶️ Удаление поддержки 32-битных систем (JEP 479, JEP 501): исключает 32-битные версии Windows и x86 Linux
Этот релиз не является LTS, обновления для него будут выходить только полгода — до сентября 2025 года.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤16👨💻13👍3🔥2