Простой глупый вопрос. У меня есть коллекция, которая содержит объекты Java. Эти объекты не являются экземплярами одного и того же класса, но они реализуют один и тот же интерфейс и концептуально очень похожи друг на друга, поэтому их размеры должны быть примерно одинаковыми. Мне нужно примерно понять, сколько места эта коллекция будет занимать в памяти. Какой будет самый простой (лучший) подход для расчета этого?
Я понимаю, что могу взять каждый класс Java, который может находиться в коллекции, рассчитать их размеры (глубокий размер, отражение и т. Д.), Получить среднее значение, умножить на N (размер коллекции) и получить окончательное значение.
Но можно ли это сделать наоборот - рассчитать размер существующей коллекции (без погружения в Reflection, размеров полей и т. Д.)? Я понимаю, что сериализация коллекции в байтовый поток и измерение выходного размера не будут работать, потому что сериализация не будет отражать точное расположение памяти объекта. Но может быть есть другие способы сделать это?