List<Picture> pictures = Picture.findAll(); //Around 2GB of data (uses JPA/play framework)
for (Picture picture : pictures) {
byte[] b = picture.image.data; //Image raw data is stored in a different table than Picture table
System.out.println(picture.file_name + " " + b.length);
}
上面的代码java.lang.OutOfMemoryError
在运行时会导致错误,因为图片存储在数据库中,而不是数据库中的文件引用。
一旦对象完成处理,我是否可以“刷新”内存?我试过了picture.em().flush()
,Iterator.remove(), System.gc()
没有奏效。请帮忙。