我有这样的代码:
public Integer detailMigration(Integer p1, Integer p2) {
List<Info> memberInfo = this.memberInfoRepository.findBymemberIdBetween(p1, p2);
Integer count = 0;
for (Info pInfo : memberInfo) {
String details = pInfo.getMemberDetails();
//Do something
count++;
}
return count;
}
`List<Info> memberInfo = this.memberInfoRepository.findBymemberIdBetween(p1, p2);` returns the list of member tuples from the DB table.
现在,当我在for循环中迭代元组时:
for (Info pInfo : memberInfo) {
String details = pInfo.getMemberDetails();
//Do something
count++;
}
是String details = pInfo.getMemberDetails();
是否会在字符串池中添加新的字符串对象?因为我正在通过上面的代码流程获得内存泄漏。
假设在Web应用程序中,我经常进行包含字符串类型列的数据库查询,所以只要我从数据库中获取它们,就会在字符串池中添加它们。 IMO,它应该加入池中,并且它在permgen中,因此它不对GC负责。请更正确地给我一个确切的方案
什么应该是正确的方法?