" Це залежить "
Я не знаю про Java, але в .net (C #, VB.net ...) зазвичай не потрібно призначати нуль, коли вам більше не потрібен об'єкт.
Однак зверніть увагу, що це "зазвичай не потрібно".
Аналізуючи ваш код, компілятор .net робить хорошу оцінку часу життя змінної ..., щоб точно визначити, коли об'єкт більше не використовується. Отже, якщо ви пишете obj = null, це може насправді виглядати так, ніби obj все ще використовується ... у цьому випадку привласнення null є контрпродуктивним.
Є кілька випадків, коли насправді може допомогти присвоєння нуля. Один із прикладів - ви маєте величезний код, який працює тривалий час, або метод, який працює в іншому потоці, або якийсь цикл. У таких випадках може допомогти присвоєння null, щоб GC легко знав, що він більше не використовується.
Для цього не існує жорсткого правила. Пройшовши вищезазначене місце, присвоює нуль у вашому коді, і запустити профайлер, щоб перевірити, чи це допомагає якимось чином. Швидше за все, ви не бачите вигоди.
Якщо це .net-код, який ви намагаєтеся оптимізувати, то мій досвід полягав у тому, що ретельна обережність із методами Dispose та Finalize насправді є вигіднішою, ніж турбота про нулі.
Деякі посилання на тему:
http://blogs.msdn.com/csharpfaq/archive/2004/03/26/97229.aspx
http://weblogs.asp.net/pwilson/archive/2004/02/20/77422.aspx