Это немного неясно, поскольку вы ставите Key
и Value
на Map
, а не на отдельные элементы.Я предполагаю, что ваше сочетание «ключ + значение» даст вам 1 МБ.
Если они действительно имеют 1MB
каждый - ваша память взорвется намного быстрее, чем даже 50 элементов, которые вы положили в свой TreeMap
,так как у каждого объекта есть 2 заголовка (12 bytes
в сочетании с типичными виртуальными машинами);там задействовано заполнение + каждый ключ + значение заключен во внутреннюю Entry
, что также добавляет некоторые накладные расходы.
GC не сможет вам сильно помочь, у вас ограниченная память с самого начала;ваша виртуальная машина взорвалась с OutOfMemory
.GC будет срабатывать, когда вы приближаетесь к пределам (это в значительной степени зависит от используемого GC и входных параметров), но поскольку очистить будет не так много, он, в принципе, будет мало что делать, если вообще будет.