我有一个巨大的POJO(1G - 6G),我想分成多个100Kb的字节数组。我的算法目前如下:
但是这会产生很大的内存压力,因为我现在有1个对象+ 1个字节[] +大约100k字节[]
使用FileInputStream将大文件拆分成多个较小的字节数组相对容易,如下所示
File file = new File("asd");
FileInputStream fis = new FileInputStream(file);
BufferedInputStream bis = new BufferedInputStream(fis);
byte[] buffer = new byte[1024*1024*10];
int n = -1;
while((n = bis.read(buffer))!=-1) {
bos.write(buffer,0,n):
}
如何为常规POJO实现相同目标?有没有办法可以迭代地将对象读入100K字节数组,而不是创建大字节数组并将其拆分?