Производительность Java: при очистке объекта лучше установить значение null или создать новый объект.

При многократном использовании объекта лучше очистить данные, установив для них значение null, или создать экземпляр нового объекта?

   Object a = new Object();
   for(...){
       ...
       a = null;
       **OR**
       a = new Object();
    }

Вот пример, о котором я говорю:

Customer a = new Customer();
Collection<Customer> data = new ArrayList<Customer>();

        while (rs != null && rs.next()) {   
            a = new Customer();
            a.setCustId(rs.getLong("CUST_ID"));
            a.setPerNo(period);
            a.setName(rs.getString("cust_nm"));

            if(a!= null)
                data.add(a);
        }

. Мне интересно, является ли

a = new Customer();

лучший способ сделать это или это нужно сделать по-другому, чтобы сэкономить память и обеспечить оптимальную производительность, потому что каждый цикл содержит новую информацию о клиенте, которую нужно вставить. Насколько я понимаю, если вы создаете нового клиента, вы создаете новый объект и указываете на этот новый объект. Таким образом, старый объект, на который указывает a, будет поднят сборщиком мусора - то же самое в случае установки для него значения null. Правильно ли это понимание?

5
задан Brad Germain 28 July 2011 в 15:27
поделиться