那些年掉过的内存溢出的坑:java.lang.OutOfMemoryError: Java heap space

   前段时间结果leader分给我一个调优调性能的任务:把100w的MP3

数据下载到本地并压缩成zip包。然后我看了之前的旧的代码,问题多多。我决定重新新方法。使用多线程下载,使用countDownLatch来控制主线程子线程次级线程的执行次序。当我把数据从十万,五十万,一百万进行测试的时候,在五十万的时候就报了这个错误,然后按照网上的修改了jvm运行内存,WebLogic的内存等等,五十万勉强可以通过,当数据到达一百万的时候还是报了内存溢出的错误。因为不知道如何去调节内存了,而且按理说一百万的数据不应该会占太大的内存;所以决定从代码中入手,发现了这个:
那些年掉过的内存溢出的坑:java.lang.OutOfMemoryError: Java heap space

因为这里log在控制台输出了100万的数据并且写入log文件中;这就导致内存激增一直溢出。把这些大数据量的数据log注释掉从新下载运行,然后没有内存溢出了。问题解决。

总结:很多容易忽略的代码很可能导致问题的出现,所以开始越到问题时候要好好排查,不要忽略那些认为不会出错的地方。

相关文章:

  • 2022-12-23
  • 2021-06-25
  • 2021-05-28
  • 2022-02-05
  • 2022-12-23
  • 2021-09-08
  • 2021-07-25
  • 2021-08-03
猜你喜欢
  • 2021-06-20
  • 2021-12-13
  • 2022-12-23
  • 2021-06-01
相关资源
相似解决方案