В статье простыми словами объясняется, как устроены массивы и как работает бинарный поиск «под капотом» — с наглядными примерами и аналогиями.
Вы шаг за шагом узнаете, как реализовать бинарный поиск на Java, какие ошибки могут возникнуть в процессе и как их исправить.
tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9👍7🔥4🤯1
🔥12❤5👍1
В видео подробно разбирается, как выстроить систему безопасности в Spring-проекте: от базовой аутентификации до кастомной авторизации с JWT и хранением пользователей в базе.
Автор показывает полный путь — конфигурация, разграничение доступа, работа с ролями, пермишинами и безопасный логин через форму или токен.
tags: #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10❤5👍5
Можно ли явно передать управление другому потоку?
Ответ:
Единственный способ заставить поток уступить процессор — это привести его в состояние блокировки: с помощью wait(), join(), LockSupport.park() или блокировок (synchronized, ReentrantLock и др.). Это приостанавливает выполнение до выполнения условий разблокировки, но даже в этом случае нельзя указать, какой именно поток будет следующим — планировщик сам решает порядок.
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤4🔥2
В статье разбираются неожиданные подводные камни при вычислении абсолютного значения
double
в Java, связанные с существованием +0.0
и -0.0
.Автор показывает, как корректно и эффективно реализовать метод
abs()
, чтобы избежать ошибок и снизить издержки, вплоть до безветвленного варианта на битовых операциях.tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🔥2
В каких состояниях может находиться поток?
Ответ:
Эти состояния отражают внутреннюю модель выполнения JVM и используются для анализа поведения многопоточных программ.
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍7❤6
В видео разбирается, как упростить работу с коллекциями с помощью Stream API: фильтрация, сортировка, группировка и проверка условий.
Автор показывает, как заменить громоздкие императивные конструкции на лаконичный и читаемый код в функциональном стиле.
tags: #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍3🔥1
Архитектура взаимодействия между клиентом и сервером может быть двух типов: без сохранения состояния (stateless) и с сохранением (stateful).
От этого зависит, как сервер ведёт себя между запросами и что он обязан помнить о клиенте.
Stateless:
▶️ Сервер не хранит никакую информацию о предыдущих действиях клиента.▶️ Каждый запрос полностью самодостаточен и содержит всё необходимое: токен, параметры, контекст.▶️ Легко масштабируется — можно добавлять сервера без учёта состояний.▶️ Пример — REST API с авторизацией по токену в каждом запросе.
Stateful:
▶️ Сервер сохраняет данные о клиенте между запросами — например, сессию после логина.▶️ Клиенту не нужно повторно отправлять данные аутентификации.▶️ Сложнее масштабировать: требуется синхронизация состояния между серверами.▶️ Пример — веб-приложение с авторизацией через серверные сессии.
Понимание этой разницы — основа проектирования стабильных и масштабируемых систем.
tags: #обучение
Please open Telegram to view this post
VIEW IN TELEGRAM
👨💻9👍5❤3
Что выведет код сверху?
Anonymous Quiz
3%
null
30%
Null
31%
NullPointerException
31%
Ошибка
5%
Ничего
❤6🤯4👻4👍1
В статье показано, как с нуля создать простую 3D-игру на Java с графикой и физикой без использования готовых движков и шейдеров.
Автор реализует собственный движок с рендером через OpenGL ES 1.0, палитровыми текстурами, кастомным загрузчиком ресурсов и поддержкой старых устройств.
tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8❤3
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣49🔥5❤4😁2
Почему метод
clone()
объявлен в классе Object
, а не в интерфейсе Cloneable
?Ответ:
Интерфейс Cloneable при этом — маркерный, без методов. Он служит лишь индикатором того, что объект допускает клонирование. Если объект не реализует Cloneable, а метод clone() всё же вызывается, будет выброшено исключение CloneNotSupportedException. Это позволяет обеспечить контроль над тем, какие классы разрешают копирование, и избежать некорректного поведения при клонировании по умолчанию.
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
❤14👍5🔥3👨💻2
В видео разбирается, как работает gRPC и в чем он выигрывает у REST при построении микросервисов с высокой нагрузкой и стримингом данных.
Автор показывает полноценную реализацию серверной и клиентской части на Java и Python, от описания proto-файлов до двунаправленной передачи сообщений.
tags: #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤4🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁32💯9❤3