JAVAPROGLIB Telegram 6446
WeakHashMap

WeakHashMap — это хеш-таблица, в которой ключи хранятся через слабые ссылки (WeakReference). Это значит, что если на ключ нет сильных ссылок, он становится кандидатом на удаление при следующем проходе GC.

🔹 Как работает GC с WeakHashMap

GC удаляет только ключи, на которые больше нет сильных ссылок. Значения же остаются в памяти, пока WeakHashMap не изменится (put(), remove()). Можно использовать ReferenceQueue, чтобы отслеживать удалённые ключи.

🔹 Когда используется


— Кеширование данных, которые можно безопасно сбрасывать.
— Хранение метаданных объектов без риска утечек памяти.
— Уменьшение давления на GC в высоконагруженных системах.

🔹 Отличие от HashMap

В HashMap ключ останется в памяти, пока его явно не удалят. В WeakHashMap ключ исчезнет автоматически, если на него нет ссылок.

⚠️ Когда НЕ стоит использовать

— Если кеш должен сохранять данные долго.
— Если ключи неизменяемые (String из пула строк, Integer), GC их не удалит.
— Если нужна предсказуемость хранения — WeakHashMap не гарантирует срок жизни ключей.

💬 Используете WeakHashMap в проде?
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍3😁2🤔21



tgoop.com/javaproglib/6446
Create:
Last Update:

WeakHashMap

WeakHashMap — это хеш-таблица, в которой ключи хранятся через слабые ссылки (WeakReference). Это значит, что если на ключ нет сильных ссылок, он становится кандидатом на удаление при следующем проходе GC.

🔹 Как работает GC с WeakHashMap

GC удаляет только ключи, на которые больше нет сильных ссылок. Значения же остаются в памяти, пока WeakHashMap не изменится (put(), remove()). Можно использовать ReferenceQueue, чтобы отслеживать удалённые ключи.

🔹 Когда используется


— Кеширование данных, которые можно безопасно сбрасывать.
— Хранение метаданных объектов без риска утечек памяти.
— Уменьшение давления на GC в высоконагруженных системах.

🔹 Отличие от HashMap

В HashMap ключ останется в памяти, пока его явно не удалят. В WeakHashMap ключ исчезнет автоматически, если на него нет ссылок.

⚠️ Когда НЕ стоит использовать

— Если кеш должен сохранять данные долго.
— Если ключи неизменяемые (String из пула строк, Integer), GC их не удалит.
— Если нужна предсказуемость хранения — WeakHashMap не гарантирует срок жизни ключей.

💬 Используете WeakHashMap в проде?

BY Библиотека джависта | Java, Spring, Maven, Hibernate


Share with your friend now:
tgoop.com/javaproglib/6446

View MORE
Open in Telegram


Telegram News

Date: |

Ng Man-ho, a 27-year-old computer technician, was convicted last month of seven counts of incitement charges after he made use of the 100,000-member Chinese-language channel that he runs and manages to post "seditious messages," which had been shut down since August 2020. Don’t publish new content at nighttime. Since not all users disable notifications for the night, you risk inadvertently disturbing them. SUCK Channel Telegram With the sharp downturn in the crypto market, yelling has become a coping mechanism for many crypto traders. This screaming therapy became popular after the surge of Goblintown Ethereum NFTs at the end of May or early June. Here, holders made incoherent groaning sounds in late-night Twitter spaces. They also role-played as urine-loving Goblin creatures. How to Create a Private or Public Channel on Telegram?
from us


Telegram Библиотека джависта | Java, Spring, Maven, Hibernate
FROM American