Существует ли удар памяти и производительности, полученный от использования разработчика Bloch Pattern?

Каковы память и использование производительности по сравнению с созданием объекта только с конструктором?

Использование здесь находится в создании a Set или List это может содержать миллион плюс записи, и я обеспокоен издержками использования разработчика Bloch Pattern. Я использовал его в прошлом, но никогда в этом большом из объема.

Ссылка: Объект 2: Рассмотрите разработчика, когда сталкивающийся со многими параметрами конструктора, переизданными в Создании и Уничтожении Объектов Java: Часть 1, извлеченная из Эффективного Java Второй Выпуск Joshua Bloch.

9
задан trashgod 15 March 2010 в 19:45
поделиться

3 ответа

У вас есть дополнительный объект Builder, который удаляется после создания объекта. Таким образом, вы можете повлиять на использование памяти и скорость. Но Java-VM действительно оптимизируется очень сильно, особенно Server-VM (java -server), поэтому виртуальная машина может полностью оптимизировать сборщик. Поэтому я предлагаю вам измерить реальное влияние (как всегда, если вы заботитесь о производительности) и решить, слишком ли велико влияние.

7
ответ дан 4 December 2019 в 20:23
поделиться

Стоимость незначительна, так как ссылка на построитель может быть собрана мусором сразу после сборки объекта.

Влияние создания 1 м дополнительных объектов должно быть меньше 10 секунд при любых обстоятельствах.

1
ответ дан 4 December 2019 в 20:23
поделиться

Трудно сказать по первоначальному описанию, но если вас беспокоит передача Collection с ~ миллионом записей в конструктор против Строителя, то стоимость одного дополнительного (недолговечного) объекта едва ли стоит обсуждать.

3
ответ дан 4 December 2019 в 20:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: