Каковы память и использование производительности по сравнению с созданием объекта только с конструктором?
Использование здесь находится в создании a Set
или List
это может содержать миллион плюс записи, и я обеспокоен издержками использования разработчика Bloch Pattern. Я использовал его в прошлом, но никогда в этом большом из объема.
Ссылка: Объект 2: Рассмотрите разработчика, когда сталкивающийся со многими параметрами конструктора, переизданными в Создании и Уничтожении Объектов Java: Часть 1, извлеченная из Эффективного Java Второй Выпуск Joshua Bloch.
У вас есть дополнительный объект Builder, который удаляется после создания объекта. Таким образом, вы можете повлиять на использование памяти и скорость. Но Java-VM действительно оптимизируется очень сильно, особенно Server-VM (java -server), поэтому виртуальная машина может полностью оптимизировать сборщик. Поэтому я предлагаю вам измерить реальное влияние (как всегда, если вы заботитесь о производительности) и решить, слишком ли велико влияние.
Стоимость незначительна, так как ссылка на построитель может быть собрана мусором сразу после сборки объекта.
Влияние создания 1 м дополнительных объектов должно быть меньше 10 секунд при любых обстоятельствах.
Трудно сказать по первоначальному описанию, но если вас беспокоит передача Collection
с ~ миллионом записей в конструктор против Строителя, то стоимость одного дополнительного (недолговечного) объекта едва ли стоит обсуждать.