Java堆大小异常

时间:2014-04-24 09:37:18

标签: java arraylist hashmap heap-memory

运行我的java程序24小时后,它显示异常,如“线程1内存错误Java堆大小”中的异常,在我的代码中,我正在使用集合对象,如hashmap,array list,vector和all。

这个问题出现在我的代码部分,我正在使用500个数据创建500个(在我的数据库表90000数据中)HashMap一次&将此hashmap对象设置为ArrayList>在finally块中我将hashmap对象设置为null并将此arralist对象传递给另一个方法进行处理。这一直持续到90000数据。

为了完成这个处理程序,我正在使用线程&来自run()方法的线程给予条件true&调用数据处理方法。

1 个答案:

答案 0 :(得分:2)

这意味着你的堆已满。内存中有太多和/或重物。

可能的原因:

  1. 您保留对未使用对象的引用,并创建太多对象
    解决方案:检查内存泄漏

  2. 你实际上需要所有这些引用,但你的堆太小了
    解决方案:增加堆

  3. 由于你的异常经过很长一段时间后,我相信第一个可能是你的问题。