Please open Telegram to view this post
VIEW IN TELEGRAM
Совет: если в Java Map нужно хранить несколько значений для одного ключа, можно использовать Apache Commons MultiValuedMap. Вы добавляете значения, а MultiValuedMap хранит их в List или Set.
👉 Java Portal | #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
Стратегии распределения памяти в Java
🟡 Stack Memory (Стековая память) – используется для хранения вызовов методов, локальных переменных и деталей вызовов функций.
🟡 Heap Memory (Куча) – содержит динамически выделенные объекты и экземпляры классов, подлежит сборке мусора.
🟡 Metaspace (Метапространство) – хранит метаданные классов, определения методов и статические переменные.
🟡 Off-Heap Memory (Память вне кучи) – используется, например, для DirectByteBuffer в NIO и полезна при обработке больших объемов данных, не управляется сборщиком мусора.
Основные различия — скорость доступа, необходимость сборки мусора и предназначение каждого вида памяти.
👉 Java Portal | #tips
Основные различия — скорость доступа, необходимость сборки мусора и предназначение каждого вида памяти.
Please open Telegram to view this post
VIEW IN TELEGRAM
ZonedDateTime, OffsetDateTime и OffsetTime ведут себя по-разному:
equals(): Сравнивает все поля (включая зону/смещение)
isEqual(): Сравнивает моменты времени (игнорируя зону/смещение)
Один и тот же момент, но разный результат.
Please open Telegram to view this post
VIEW IN TELEGRAM
К вашему вниманию — механизмы блокировки в Java ☕️
Это таблица, описывающая различные механизмы блокировки (Locking Mechanisms) в многопоточной среде. В ней представлены механизмы, их использование, производительность и наиболее подходящие сценарии применения.
👉 Java Portal | #tips
Это таблица, описывающая различные механизмы блокировки (Locking Mechanisms) в многопоточной среде. В ней представлены механизмы, их использование, производительность и наиболее подходящие сценарии применения.
Please open Telegram to view this post
VIEW IN TELEGRAM
При создании стандартных HttpHeaders для ответов Spring MVC, вместо того чтобы предоставлять их как строки, для некоторых есть специальные строители (Builders), которые позволяют создавать заголовки более безопасным с точки зрения типов способом. Смотри методы set() в HttpHeaders, которые можно настроить таким образом.
Please open Telegram to view this post
VIEW IN TELEGRAM
Держи таблицу, сравнивающую различные фреймворки логирования для Java.
В ней указаны их назначение, производительность и рекомендации по использованию в разных типах проектов.
На заметку🫡
👉 Java Portal | #tips
В ней указаны их назначение, производительность и рекомендации по использованию в разных типах проектов.
На заметку
Please open Telegram to view this post
VIEW IN TELEGRAM
Хотите быстро собрать некоторые данные в POST-запросе? Создайте быстрый встроенный объект в вашем
@RestController
и используйте его как @RequestBody
. Нет необходимости определять DTO в отдельном классе. Он виден только в этом классе.Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Повышайте свою продуктивность, а именно: находите ответы быстрее прямо в IntelliJIDEA! 👩💻
🍩 Установите плагин Help Search через Настройки | Плагины | Маркетплейс.
🍩 Нажмите ⇧⇧ | Shift+Shift, перейдите на вкладку Help и ищите любую нужную информацию!
Вот ссылка на плагин: клик
👉 Java Portal | #tips
Вот ссылка на плагин: клик
Please open Telegram to view this post
VIEW IN TELEGRAM
Чтобы получить все дни месяца, можно начать с объекта
YearMonth
, взять его первый день, а затем использовать функцию datesUntil()
, которая возвращает поток (Stream) всех дней до указанной даты.Please open Telegram to view this post
VIEW IN TELEGRAM
getDepartmentDeptName()
получает deptName
из связанной сущности Department
Please open Telegram to view this post
VIEW IN TELEGRAM