下面的代码会导致内存泄漏吗?使用 StringBuffer 实际上会提高内存使用率吗?
一点背景知识:一位同事一直在推动他关于内存泄漏的理论,这是他认为是问题代码的代码(没有进行任何类型的分析),他声称这会导致内存泄漏。我不同意这一点,所以我想我会把它交给其他一些开发人员以获得第三方的意见。
List partCollection = new ArrayList()
String partKeyID = null;
String sPartNbr = null;
String partDescription = null;
while(rsPartRes.next())
{
partKeyID = rsPartRes.getString("PART_KEY_ID");
sPartNbr = rsPartRes.getString("PART_NBR");
partDescription = rsPartRes.getString("PART_DESC");
SomeValueObject someValueObject = new SomeValueObject();
someValueObject.setPartKeyID(partKeyID);
someValueObject.setSPartNbr(sPartNbr);
someValueObject.setPartDescription(partDescription);
partCollection.add(someValueObject);
}
假设 rsPartRes 是此代码中的一个 ResultSet,它可能包含 100 多条记录。基本上,他担心的是,因为我们正在循环遍历这个结果集而不使用 StringBuffer(在这种情况下,我什至不确定你将如何使用它),它可能会导致内存泄漏。是否有任何人在这里看到这可能导致内存泄漏或性能问题的情况......?