Какую из следующих деклараций будет правильно выбрать для выделения нужного количества памяти. Вариант 1 имеет начальную емкость сбора 0, а вариант 2 - 10, а вариант 3 ничего не объявляет.
Если базовый поставщик ORM в конечном итоге загрузит эти объекты, не будет ли он использовать метод setEmails (..) для установки значений коллекции. Если это так, имеет ли смысл просто объявить это, как в варианте 3, чтобы я мог избежать ненужного выделения памяти.
Option 1
@OneToMany(mappedBy = "user", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
private Set<Email> emails = new HashSet<Email>(0);
или
Option 2
@OneToMany(mappedBy = "user", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
private Set<Email> emails = new HashSet<Email>();
или
Option 3
@OneToMany(mappedBy = "user", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
private Set<Email> emails;