Re: variable = null; Memory Cleanup
Angry Moth Town wrote:
> I have several developers who insist on using the following method,
> claiming that it helps reduce memory use by eliminating resources
> faster than the garbage collector. Personally, I don't think this is
> effective. Is this a useful method, or should we simply be letting
> the garbage collector do its job?
>
> /**
> * This method closes the ResultSetMetaData if it is open.
> */
> public static void closeResultSetMetaData(ResultSetMetaData rs)
> {
> try {
> rs = null;
> } catch (Exception exp) {
> exp.printStackTrace();
> }
> }
Just out of curiosity - is there another method named
closeResultSet(ResultSet rs) which might look something like this -
try {
rs.close() ;
rs = null;
} catch (Exception exp) {
exp.printStackTrace();
}
}
If there is and if method "closeResultSetMetaData" was added after
method "closeResultSet", there might be an amusing explanation (no,
there still is no excuse for this!). Its possible that at one time all
developers were expected to explicitly close connections and streams
using these type of methods. Later on, developers blindly followed the
example without really understanding the intent (they assumed it was for
garbage collection but the name tells me otherwise). And since
ResultSetMetaData does not have a close() method, you are left with this
ridiculous code! Its rather amusing and I would like to know what you
find out.
Also - don't these guys use logging (log4j/commons logging ... )?