Channel: Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
В каких состояниях может находиться поток?
Ответ:
Эти состояния отражают внутреннюю модель выполнения JVM и используются для анализа поведения многопоточных программ.
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
В видео разбирается, как упростить работу с коллекциями с помощью Stream API: фильтрация, сортировка, группировка и проверка условий.
Автор показывает, как заменить громоздкие императивные конструкции на лаконичный и читаемый код в функциональном стиле.
tags: #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Что выведет код сверху?
Anonymous Quiz
4%
null
29%
Null
31%
NullPointerException
31%
Ошибка
5%
Ничего
В статье показано, как с нуля создать простую 3D-игру на Java с графикой и физикой без использования готовых движков и шейдеров.
Автор реализует собственный движок с рендером через OpenGL ES 1.0, палитровыми текстурами, кастомным загрузчиком ресурсов и поддержкой старых устройств.
tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Почему метод
clone()
объявлен в классе Object
, а не в интерфейсе Cloneable
?Ответ:
Интерфейс Cloneable при этом — маркерный, без методов. Он служит лишь индикатором того, что объект допускает клонирование. Если объект не реализует Cloneable, а метод clone() всё же вызывается, будет выброшено исключение CloneNotSupportedException. Это позволяет обеспечить контроль над тем, какие классы разрешают копирование, и избежать некорректного поведения при клонировании по умолчанию.
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
В видео разбирается, как работает gRPC и в чем он выигрывает у REST при построении микросервисов с высокой нагрузкой и стримингом данных.
Автор показывает полноценную реализацию серверной и клиентской части на Java и Python, от описания proto-файлов до двунаправленной передачи сообщений.
tags: #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
В чём различие между стеком и кучей в контексте многопоточности?
Ответ:
Куча — это общая область памяти для всех потоков, где размещаются объекты, созданные с помощью new. Из-за совместного доступа к куче возможны гонки данных и проблемы видимости между потоками. Чтобы гарантировать корректность при многопоточном доступе, применяются механизмы синхронизации (synchronized, ReentrantLock, volatile, атомарные классы и др.).
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
В статье разбирается, как эффективно обойти файловую систему в Java и почему стандартные методы работают медленно.
Автор показывает, как добиться ускорения в несколько раз с помощью рекурсивных, итеративных и многопоточных реализаций на базе ForkJoinPool.
tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Почему
@Transactional
не работает при вызове метода внутри того же класса?Ответ:
Чтобы транзакция была активна, метод должен вызываться через прокси, например, путём внедрения собственного бина или получения его из ApplicationContext. Если требуется перехват внутренних вызовов, стоит использовать AspectJ — он работает на уровне байткода и не зависит от прокси-механизма.
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
HTML Embed Code: