java分流读取数据库里的数据到txt,避免数据量太大读不了报内存溢出的错误

 我来答
a328350493
2016-02-15 · TA获得超过184个赞
知道小有建树答主
回答量:106
采纳率:0%
帮助的人:99.3万
展开全部
2个要点要分清楚,是数据库报错,还是JAVA程序。2种对应不同方法。
拿ORACLE来说。判断是数据库报错,可以让DBA调整数据库参数或者调整JDBC参数。
假设是JAVA程序溢出。首先要注意不要一次读取所有记录存到变量中再写入到TXT。
最好根据ORACLE ROWID分页,一次读取100行或者500行再写入。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2016-01-04
展开全部
//首先判断point是否在curPt和nextPt之间,即:此判断该点是否在该线段的外包矩形内
if (point.lng >= Math.min(curPt.lng, nextPt.lng) && point.lng <= Math.max(curPt.lng, nextPt.lng) &&
point.lat >= Math.min(curPt.lat, nextPt.lat) && point.lat <= Math.max(curPt.lat, nextPt.lat)){
//判断点是否在直线上公式
var precision = (curPt.lng - point.lng) * (nextPt.lat - point.lat) -
(nextPt.lng - point.lng) * (curPt.lat - point.lat);
if(precision < 2e-10 && precision > -2e-10){//实质判断是否接近0
return true;
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hx397809648
2016-01-25 · TA获得超过150个赞
知道答主
回答量:120
采纳率:0%
帮助的人:44.7万
展开全部
按照抽取的表每条数据的固定数据大小来预算出需要的内存并修改启动参数,
如果服务器硬件性能有限,那么只能根据条数分次查询拆分文件了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xsq2529562
2016-01-15 · 超过12用户采纳过TA的回答
知道答主
回答量:35
采纳率:0%
帮助的人:22.1万
展开全部
写个byte[]数组,做缓冲区,然后嵌套IO流。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2016-01-03
展开全部
只有不全部读进,部分读、处理完、再读另外的。
追问
这种方式可以避免因为数据量大而不能一次性读完的情况吧?,有具体代码么?
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式