Java. Как долго создаются объекты, экономить?

119
27 апреля 2018, 15:14

Очень часто в java создаются новые объекты для различных, и порой, примитивнейших целей. Например rowMapper, дто для перегонки с энтити, в лямбдах для того что бы просто Integer::sum и т.д. И живут, большинство, миллисекунды. Я знаю зачем это и сколько обьекты занимают места. Вопрос по производительности: стоит ли экономить на создании новых экземпляров и стараться обходиться без new где только можно? Или создание этих классов даже с дженериками, наследованием ничтожно и я просто параноик)?

Answer 1

Объекты создаются очень быстро. Аллокация объекта в TLAB осуществляется десятком инструкций процессора, почти бесплатно. А если ваш объект никогда не покидает метода, в котором создан, то виртуальная машина вообще не будет выделять для него память в куче, а распределит его поля в стековом кадре.

Про аллокацию в TLAB и скаляризацию есть статьи и на русском.

READ ALSO
Ввести 3 массива

Ввести 3 массива

Нужно ввести 3 массива на java,Массивы 1)Имена студентов,2)Предметы, 3)Содержат имена+предметы и ещё оценкиНужно чтоб потом выводились данные...

143
java.lang.StackOverflowError

java.lang.StackOverflowError

Существует ркурсивный вызов метода

158
Сгруппировать сумму по дням

Сгруппировать сумму по дням

Необходимо написать запрос, который брал бы сумму всех проданных товаров определенного продавца за определенный период и сгруппировать...

207