Согласно этому сайту использование памяти для массивов составляет 12-байтовый заголовок + 4 байта на элемент.Если вы объявите пустой массив Object
, содержащий 10M элементов, то у вас будет около 40 МБ памяти, используемой с самого начала.Если вы начнете заполнять этот массив на самом деле объектом 10M, то его размер будет довольно быстро увеличиваться.
С этого сайта, и я только что проверил его на своей 64-битной машине, размеробычный Object
составляет около 31 байта, поэтому массив из 10M Object
составляет всего около 12 байтов + (4 + 31 байтов) * 10M = 350 000 012 байтов (или 345,78 МБ)
Если вашмассив содержит другие типы объектов, тогда его размер будет еще больше.
Я бы посоветовал вам использовать какой-либо файл (ы) произвольного доступа для хранения ваших данных, если вам нужно хранить так много данных внутри вашегопрограмма.Или даже используйте базу данных, такую как Apache Derby , которая также позволит вам сортировать и фильтровать данные и т. Д.