coco8585
吃过群众
采纳率0%
2017-08-22 12:33 阅读 1.3k

JAVA BLOB.getBytes() OutOfMemory

JAVA小工具实现图片转PDF。
在从数据库取图片数据(Blob)时出现内存溢出。
数据量在500件时没有问题,用800件数据测试出现上述问题。在修改了VM参数后
800件没有问题,感觉不是解决问题的办法,应该还是代码有问题,性能不好。
除了这个地方耗内存,程序里还有一个地方,利用ITEXT中的Image.getInstance(byte[])
时感觉也比较耗内存,这里应该也会是个坑。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

4条回答 默认 最新

  • oyljerry oyljerry 2017-08-22 13:22

    每个图片处理完,对应的内存,对象都要释放

    点赞 评论 复制链接分享
  • dcxy0 Q544471255 2017-08-22 14:27

    图片尽量放在服务器上,别放数据库里面。

    点赞 评论 复制链接分享
  • coco8585 吃过群众 2017-08-24 02:14

    图片尽量放在服务器上,别放数据库里面。

    图片数据放到DB里这个是改变不了的, T.T

    点赞 评论 复制链接分享
  • coco8585 吃过群众 2017-08-24 02:20

    每个图片处理完,对应的内存,对象都要释放

    谢谢你的回答

    我现在是
    while(rs.next()){
    Blob.getBytes(1, XX.length); //循环到800多件的时候,这里就报错了 OutOfMemory
    }

    (这个回复引用 我也是醉了 我好像没会用这个功能啊)

    点赞 评论 复制链接分享

相关推荐