java 定义超大数组,提示内存不够怎么办?

定义了一个double类型的二维数组,50,000*20,000的规模,初始化的时候出现内存不够的错误:java.lang.OutOfMemoryError:Javahe... 定义了一个 double类型的二维数组,50,000*20,000的规模,初始化的时候出现内存不够的错误:java.lang.OutOfMemoryError: Java heap space,现在-XMX6500M了,-XMX已经不能再往上调,怎么办呢? 展开
 我来答
qweasd8771
2012-11-22 · 超过36用户采纳过TA的回答
知道小有建树答主
回答量:83
采纳率:0%
帮助的人:83.8万
展开全部
你可以改用文件系统,将数据保存到文件中,每次读取一部分进行处理。
duzc2
2012-11-22 · TA获得超过2512个赞
知道大有可为答主
回答量:1987
采纳率:50%
帮助的人:2068万
展开全部
你逻辑就不对,定义这么大一个数组就是不应该的,优化你的逻辑和算法吧
更多追问追答
追问
我想做一个搜索算法,要统计2万篇文章里的每个单词(总数大概就是5万个不同的单词)对应在每篇文章里出现的次数。然后再进行SVD分解。所以一定要这么大的一个数组。
追答
晕,你这真不是解决问题的态度。
首先说你计算方式就不对,5万单词,2万文章,难道就得把这些文章按单词一个一个的排列放在内存里面么?
你读取一遍就统计出来了。5万个单词内存还是放的下的,用个Map就统计完了。
就算你非要弄那么大个数据,难道不能放在硬盘里面么。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式