为什么用流数据方式读取lob数据能减少内存的占用

来源:互联网 发布:淘宝店铺规格怎么填写 编辑:程序博客网 时间:2024/04/29 09:00

使用spring jdbc访问数据库时,读取lob数据有2种方式:


//书340提到


1、以块数据方式读取lob数据

     以string读取clob字段的数据;以btye[]读取blob字段的数据。


2、以流数据方式读取lob数据


第一种方式是一次性读取整个lob数据到string对象或btye[],如果lob数据的体积很大(如100M),容易导致堆内存溢出。

第二种方式内部采用FileInputStream + byte[] 的方式读取lob数据,它是将lob数据分次读取,每次只读取若干字节。

假如Byte[] b=new byte[1024];,则每次只读取1024字节。这样流对象的体积就不会很大,就能减少内存的占用。

0 0