Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥2
Совет: если в Java Map нужно хранить несколько значений для одного ключа, можно использовать Apache Commons MultiValuedMap. Вы добавляете значения, а MultiValuedMap хранит их в List или Set.
👉 Java Portal | #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19❤4🔥2
Стратегии распределения памяти в Java
🟡 Stack Memory (Стековая память) – используется для хранения вызовов методов, локальных переменных и деталей вызовов функций.
🟡 Heap Memory (Куча) – содержит динамически выделенные объекты и экземпляры классов, подлежит сборке мусора.
🟡 Metaspace (Метапространство) – хранит метаданные классов, определения методов и статические переменные.
🟡 Off-Heap Memory (Память вне кучи) – используется, например, для DirectByteBuffer в NIO и полезна при обработке больших объемов данных, не управляется сборщиком мусора.
Основные различия — скорость доступа, необходимость сборки мусора и предназначение каждого вида памяти.
👉 Java Portal | #tips
Основные различия — скорость доступа, необходимость сборки мусора и предназначение каждого вида памяти.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥2
ZonedDateTime, OffsetDateTime и OffsetTime ведут себя по-разному:
equals(): Сравнивает все поля (включая зону/смещение)
isEqual(): Сравнивает моменты времени (игнорируя зону/смещение)
Один и тот же момент, но разный результат.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥3🤔1
К вашему вниманию — механизмы блокировки в Java ☕️
Это таблица, описывающая различные механизмы блокировки (Locking Mechanisms) в многопоточной среде. В ней представлены механизмы, их использование, производительность и наиболее подходящие сценарии применения.
👉 Java Portal | #tips
Это таблица, описывающая различные механизмы блокировки (Locking Mechanisms) в многопоточной среде. В ней представлены механизмы, их использование, производительность и наиболее подходящие сценарии применения.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤4
При создании стандартных HttpHeaders для ответов Spring MVC, вместо того чтобы предоставлять их как строки, для некоторых есть специальные строители (Builders), которые позволяют создавать заголовки более безопасным с точки зрения типов способом. Смотри методы set() в HttpHeaders, которые можно настроить таким образом.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥1
Держи таблицу, сравнивающую различные фреймворки логирования для Java.
В ней указаны их назначение, производительность и рекомендации по использованию в разных типах проектов.
На заметку🫡
👉 Java Portal | #tips
В ней указаны их назначение, производительность и рекомендации по использованию в разных типах проектов.
На заметку
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥1
Хотите быстро собрать некоторые данные в POST-запросе? Создайте быстрый встроенный объект в вашем
@RestController
и используйте его как @RequestBody
. Нет необходимости определять DTO в отдельном классе. Он виден только в этом классе.Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥3
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
👍11🔥4❤2
Чтобы получить все дни месяца, можно начать с объекта
YearMonth
, взять его первый день, а затем использовать функцию datesUntil()
, которая возвращает поток (Stream) всех дней до указанной даты.Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥4
getDepartmentDeptName()
получает deptName
из связанной сущности Department
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥4