coco8585
吃过群众
采纳率0%
2017-08-22 12:18 阅读 897

JAVA Blob.getBytes OutOfMemory

一个java小工具实现功能如下:
从DB指定表中取出图片数据,然后把图片转换成PDF。
问题描述:
JDBC连接DB取出数据后,在循环取图片字段时->Blob.getBytes()出现内存溢出。
如果修改VM参数-Xms 128m -Xmx 1024m可以把这个问题混过去,但是还是想通过改代码来把这个问题解决掉。
另外转PDF用的ITEXT的jar包,其中用到个Image.getInstance(byte[])方法,感觉也是个雷,即使上面的问题解决,数据量大的话这里会不会也出现oom呢。。 T.T
以上问题在1000件数据以上的时候会出现,如果图片在500件左右没有问题,图片大小约为2M
希望看到这个问题的朋友可以帮忙想想办法。

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

2条回答 默认 最新

  • caozhy 从今以后生命中的每一秒都属于我爱的人 2017-08-22 15:55

    将你的jvm改大一些,用x64系统

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

    @caozhy
    谢谢你的回答,修改参数确实可以解决当前问题,但是不考虑这种方法,还是考虑如何提高下效率

    点赞 评论 复制链接分享

相关推荐