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