我正在解析大型的xhtml文件,并试图在其中播放内容。基本上它的话,他们的立场等我尝试使用HashMap,ArayList等所有他们在加载130347数据后给OutOfMemory问题。什么是可用于在JAVA中保存大量数据的数据结构。我应该使用什么样的数据结构来处理大数据
回答
你的问题很模糊。但是,如果内存不足,则应该使用磁盘上的数据库。 PostgreSQL,MySQL,HSQLDB等等。
您的意思是说我从文档中收集的信息可以写入到本地磁盘上具有适当数据结构的hsqldb中,而不是加载到内存中,以便可以根据需要查询我需要的信息。因为我只需要它的请求,在处理结束时我必须删除我的插入是吗?这非常有趣。我没有为实时应用程序应用hsqldb解决方案。您能否告诉我我需要为这种类似性能的解决方案所做的折衷,因为我将不得不插入大量的数据,从而造成大量的调用? – Rachel 2010-05-06 16:28:30
您建议使用哪个数据库来暂时加载数据,并在请求结束时清除它们。 – Rachel 2010-05-06 16:42:29
一个10MB的XML文件绝不是“庞大的数据”,因此磁盘数据库可能是矫枉过正的。 – intgr 2010-05-15 17:01:45
现在你在做什么,将所有数据吸收到一个巨大的结构中然后处理它,不管你使用什么数据结构都不会工作。在阅读一些数据,然后处理它,然后再阅读一些数据等方面尝试一种增量方法(实际上,你将以这种方式创建自己的专用数据结构来处理区块处理,所以我的第一个句子不是真的准确。)
这样做的一种方法可能是使用SAX解析文档,SAX使用事件驱动的方法。您可以让您的内容处理程序通过读取xml元素来创建和存储您构建的对象,一旦积累足够的内容就可以处理它们,然后清除该集合。
查看虚拟机的内存设置。您可以通过命令行修改虚拟机内存大小(如果这是您的位置),或者如果您处于某种服务器端环境,则可以通过配置文件修改虚拟机内存大小。
如果您使用的是Tomcat /月食,这个线程可以帮助你: Eclipse memory settings when getting "Java Heap Space" and "Out of Memory"
- 1. 我应该使用什么样的数据结构?
- 2. 我应该使用哪种数据结构来处理多值数据?
- 3. 我应该使用什么样的数据结构来存储文件库..?
- 4. 我应该用什么java数据结构来排序这些数据?
- 5. 我应该在什么数据结构中组织数据?
- 6. ,我应该在C++中使用这个什么样的数据结构的
- 7. 我应该使用什么样的数据模型来存储历史数据?
- 8. 我应该使用什么数据结构?
- 9. 我应该使用什么样的Android结构来填充ListFragment
- 10. 什么样的数据结构可以实现并行处理
- 11. 我应该使用什么类型的数据结构来保存表行?
- 12. 什么数据结构应该用于分层数据?
- 13. 我应该使用什么数据结构来存储.fasta头文件集合?
- 14. 我应该使用哪些结构化数据对象来处理.txt中的数据?
- 15. 我应该使用什么数据库来存储大量可能较大的嵌套散列结构?
- 16. 用于处理大量数据的库/数据结构
- 17. 我应该使用什么样的数据库系统?
- 18. 这是什么样的数据结构?
- 19. 我们应该使用什么样的数据结构来创建Google地图等地图?
- 20. 我应该用什么数据结构来跟踪依赖关系?
- 21. 个人malloc函数,使用数据结构来处理内存
- 22. 我应该使用什么xPath来显示请求的数据?
- 23. 数据结构,我应该选择哪一个,为什么
- 24. 大型数据结构操作/处理中的内存使用
- 25. 应该使用什么模型/模式来处理多个数据源?
- 26. 我应该导入什么来使用jquery数据表?
- 27. Python数据类型,它是什么样的数据结构?
- 28. 我应该使用什么数据类型来存储文本数据?
- 29. 我应该为这个定价表使用什么数据结构
- 30. 我应该使用什么类型的数据库模式来存储和使用地理位置数据?
我不认为这是数据类型的问题,我认为你试图做的“一次太多”。如果您处理的数据量足够大,导致内存问题,那么您可能需要拆分步骤并以大块方式进行。 – 2010-05-05 18:30:30
你的xhtml文件有多大? – 2010-05-05 18:56:41
我遇到了一个5MB文件的问题。我打算支持高达10MB的文件。 – Rachel 2010-05-06 16:19:13