В моем классе Action я создавал 16 необходимых для ООН объектов (бесполезных).
List<String> list = new ArrayList<String>();
Мое приложение - это клиентский портал, который используется во всем мире.
и что класс действия обращается во много раз, я верю в один день.
Итак, мой вопрос в том, насколько эти 16 объектов могут повлиять на память? маленький? Или слишком много?
Пустой ArrayList стоит 88 байт в 32-битной системе. См. Это объяснение для расчета.
Поэтому просто умножьте это на 16 и количество вызов вашего действия. Но лучше было бы, если бы вы нашли решение, в котором вам не нужно было бы создавать ненужные объекты списка. Большую часть времени это не нужно.
ArrayList<Object>
, а не ArrayList<String>
. new ArrayList<Object>()
сохраняет свою ссылку (), только когда new ArrayList<String>()
сохраняет пустую строку. Пустая строка занимает 40 байтов - достаточно памяти для размещения 20 символов Java. Когда ссылка на объект занимает только 4 байта для 32-битной JVM. это означает, что размер будет в 10 раз больше, чем ArrayList<Object>
.