Метод finalize() Мягкие ссылки Устройство памяти в Java 1. Чем Java отличается от C++? В С++ необходимо самому заботится об освобождении памяти. В Java этим занимается GC. 2. Что такое менеджер памяти? Менеджер памяти — часть компьютерной программы (как прикладной, так и операционной системы), обрабатывающая запросы на выделение и освобождение оперативной памяти или (для некоторых архитектур ЭВМ) запросы на включение заданной области памяти в адресное пространство процессора. Основное назначение менеджера памяти в первом смысле — реализация динамической памяти. Например, в языке C динамическое выделение памяти производится через функцию malloc...
При вызове метода add() у ArrayList может происходить расширение емкости (capacity expansion) внутреннего массива, если текущий размер массива не хватает для добавления нового элемента. В этом случае создается новый массив большего размера и все существующие элементы копируются в него. Как правило, емкость нового массива увеличивается в 1,5-2 раза от текущей емкости. Таким образом, при каждом расширении емкости ArrayList выделяется дополнительная память на размер текущего массива. Также ArrayList может занимать некоторое количество дополнительной памяти для своих внутренних нужд...