Лучший способ - максимально избегать создания объектов.Мало того, что создание объектов имеет свою стоимость, но и очистка их впоследствии сборщиком мусора.
Некоторые идеи могут быть такими: попробуйте вместо этого сжать ваши данные в примитивные типы, заменив простые структурные объекты на предварительно выделенные.параллельные массивы простых типов, делайте ваши объекты изменяемыми, сбрасывайте их и повторно используйте их, когда они больше не нужны (с использованием пула или ad-hoc), используйте Javolution для размещения структуроподобных данных в предварительно распределенных ByteBuffers / массивах.Если вам нужно создавать новые объекты, избегайте коллекций Java - у них много накладных расходов (как в использовании памяти, так и в распределении объектов), попробуйте вместо этого использовать массивы или Trove.
Возможно, вы также можете упростить свою логику, чтобы выВо-первых, вам не нужно так много объектов.
В любом случае, запустите профилирование, чтобы вы знали, что оптимизируете то, что действительно является вашим узким местом.Часто горячие точки производительности находятся в разных местах, чем подсказывает интуиция.