关于内存资源占用释放的问题
大致情形如下:
我使用Lucene做全文索引,从数据库(MySQL)中将数据取出,然后建立索引。
大体代码如下:
conn = ....
Statement stm = conn....
ResultSet rs = stm.exe....
while(rs.next())
{
DBDocument dbdoc = new DBDocument();
//construct dbdoc
Document doc = MyDocument.Document(dbdoc);
writer.addDocument(doc);
}
conn.close;
在数据量小的时候,如10000条的时候没有什么问题。
但是在数据量大的时候(实际数据有100多万条,2G多),就会出现outofmemory,尝试setfetchsize(),似乎没有作用。
尝试手动sql来limit取出数据。内存占用仍就会很快上升至一个很高的数字。
希望有朋友告之问题根结所在。我是java初学者。