io流-listFiles 大数据量时内存溢出

问题描述

listFiles 大数据量时内存溢出

描述:
获取一个文件集合,通过文件获取文件名集合,再根据文件内容筛选文件,存储在Map里
问题:
文件服务器A文件夹下,存在近7万个文件,以XML格式存储,调用listFiles,再做put操作时,
内存就会溢出,调整过eclipse的堆与非堆内存,加大了1024M,也同样抛出内存溢出异常,
恳请大家指点迷津,给个好的解决方案,或者案例参考,谢谢了

    这个方法需要将内容存储在Map对象内然后返回这个Map对象,给其他成员调用,这个内存溢出,因该是在Map对象 put 的时候就hold不住了

解决方案

文件内容不要全部存内存,用完的就释放掉。

解决方案二:

http://bbs.csdn.net/topics/310249869
可参考在此贴

解决方案三:

这个方法需要将内容存储在Map对象内然后返回这个Map对象,给其他成员调用,这个内存溢出,因该是在Map对象 put 的时候就hold不住了

解决方案四:

内存溢出的话 你得及时把文件吐出去啊,内存只留符合条件的文件Path不用把内容都放在map里啊

时间: 2024-11-02 05:18:32

io流-listFiles 大数据量时内存溢出的相关文章

MySQL大数据量时提高分页效率

我的这段代码是大数据量时提高分页的效率的测试代码 --提高分页效率:实现分页时只读取显示数据,需要先在数据库创建数据库"TestForPaging" use TestForPaging go --创建表SomeData create table SomeData ( id int primary key, name varchar(30) null, description text ) go --插入数据 insert into SomeData values(1,'num1','第

ASP.NET 2.0数据教程之二十五:大数据量时提高分页的效率

返回"ASP.NET 2.0数据教程目录" 如我们在之前的教程里讨论的那样,分页可以通过两种方法来实现: 默 认分页– 你仅仅只用选中data Web control的智能标签的Enable Paging ; 然而,当你浏览页面的时候,虽然你看到的只是一小部分数据,ObjectDataSource 还是会每次都读取所有数据 自定义分页– 通过只从数据库读取用户 需要浏览的那部分数据,提高了性能.显然这种方法需要你做更多的工作. 默认的分页功能非常吸引人,因为你只需要选中一个checkb

在ASP.NET 2.0中操作数据之二十五:大数据量时提高分页的效率_自学过程

导言 如我们在之前的教程里讨论的那样,分页可以通过两种方法来实现: 1.默认分页– 你仅仅只用选中data Web control的 智能标签的Enable Paging ; 然而,当你浏览页面的时候,虽然你看到的只是一小部分数据,ObjectDataSource 还是会每次都读取所有数据 2.自定义分页– 通过只从数据库读取用户需要浏览的那部分数据,提高了性能. 显然这种方法需要你做更多的工作. 默认的分页功能非常吸引人,因为你只需要选中一个checkbox就可以完成了.但是它每次都读取所有的

大数据量时提高分页的效率_数据库其它

如我们在之前的教程里讨论的那样,分页可以通过两种方法来实现: 默认分页– 你仅仅只用选中data Web control的 智能标签的Enable Paging ; 然而,当你浏览页面的时候,虽然你看到的只是一小部分数据,ObjectDataSource 还是会每次都读取所有数据 自定义分页– 通过只从数据库读取用户需要浏览的那部分数据,提高了性能. 显然这种方法需要你做更多的工作. 默认的分页功能非常吸引人,因为你只需要选中一个checkbox就可以完成了.但是它每次都读取所有的数据,这种方式

大数据量传输时配置WCF的注意事项

原文:大数据量传输时配置WCF的注意事项 WCF传输数据量的能力受到许多因素的制约,如果程序中出现因需要传输的数据量较大而导致调用WCF服务失败的问题,应注意以下配置: 1.MaxReceivedMessageSize:获取或设置配置了此绑定的通道上可以接收的消息的最大大小. basicHttpBinding等预定义的绑定一般具有MaxReceivedMessageSize属性,CustomBinding则需要在Transport中定义. 示例代码: <bindings> <custom

Lucene的分页功能怎么这么局限啊,大数据量下会内存溢出,而且很慢!!!!谁能解释下,谢谢

问题描述 大家说说Lucene针对以下这种大数据量分页场景,有没有必要改进的...真的很痛苦!我们的项目就要求用lucene,不用oracle,数据量又大,分页这里是个性能瓶颈,搞不定啊!TopScoreDocCollectorf=TopScoreDocCollector.create(10000010,false);indexSearcher.search(query,f);TopDocstopDocs=f.topDocs(10000000,10000010);​遇到这种大数据量问题,很痛苦,

poi处理excel大数据量的导入会报内存溢出

问题描述 poi处理excel大数据量的导入会报内存溢出 XSSFWorkbook workbook = new XSSFWorkbook(new FileInputStream(fileName())); 就是单独执行这行代码都不行,报内存溢出,我把虚拟机都设置成最大了也溢出 差不多10万行吧 解决方案 poi大数据量excel导入 解决方案二: 可以参考这:poi的eventmodel写的大数据量的excel的读取程序.http://gaosheng08.iteye.com/blog/624

php 大数据量及海量数据处理算法总结_php技巧

下面的方法是我对海量数据的处理方法进行了一个一般性的总结,当然这些方法可能并不能完全覆盖所有的问题,但是这样的一些方法也基本可以处理绝大多数遇到的问题.下面的一些问题基本直接来源于公司的面试笔试题目,方法不一定最优,如果你有更好的处理方法,欢迎与我讨论. 1.Bloom filter 适用范围:可以用来实现数据字典,进行数据的判重,或者集合求交集 基本原理及要点: 对于原理来说很简单,位数组+k个独立hash函数.将hash函数对应的值的位数组置1,查找时如果发现所有hash函数对应位都是1说明

大数据量,海量数据处理方法总结_数据库其它

下面的方法是我对海量数据的处理方法进行了一个一般性的总结,当然这些方法可能并不能完全覆盖所有的问题,但是这样的一些方法也基本可以处理绝大多数遇到的问题.下面的一些问题基本直接来源于公司的面试笔试题目,方法不一定最优,如果你有更好的处理方法,欢迎与我讨论. 1.Bloom filter 适用范围:可以用来实现数据字典,进行数据的判重,或者集合求交集 基本原理及要点: 对于原理来说很简单,位数组+k个独立hash函数.将hash函数对应的值的位数组置1,查找时如果发现所有hash函数对应位都是1说明