感谢原作者

在日常中我们经常遇到这样的错误:java.lang.OutOfMemoryError: Java heap space。
但是除了heap space 的OutOfMemoryError,还有其它几种OutOfMemoryError情况。今天我们就来了解一下:
1、java.lang.OutOfMemoryError: Java heap space。
这是因为虚拟机堆的空间所剩不多。当准备创建的对象需要的内存已经超过虚拟机堆所剩的空间。虚拟机会尝试通过full GC来回收内存,如果不行的话,就会抛出OutOfMemoryError。
导致OutOfMemoryError异常的常见原因有以下几种:
【1】内存中加载的数据量过于庞大,如一次性从DB取出过多数据;
【2】集合类中有对象的引用,使用完后未清空,使得JVM不能回收;
【3】代码中存在死循环或循环产生过多重复的对象实体;
【4】启动参数内存值设定的过小。

作者:VIPSHOP_FCS
链接:https://www.jianshu.com/p/ddbd1e229c4c
來源:简书
感谢原作者

最新文章

  1. [.NET领域驱动设计实战系列]专题三:前期准备之规约模式(Specification Pattern)
  2. 彻底搞定 C/C++ 指针
  3. 速度之王 — LZ4压缩算法(三)
  4. 增强Web可用性,你需要避免的七大设计错误
  5. CentOS linux 下eclipse+cdt编译报undefined reffrece to *
  6. Laravel-Administrator enum使用数字key
  7. 一步步搭建自己的轻量级MVCphp框架-(四)一个国产轻量级框架Amysql源码分析(3) 总进程对象
  8. 学习:Linux基础知识<一>
  9. log4j的properties详细配置,分级输出日志文件
  10. codeforces 383C Propagating tree 线段树
  11. 运用C语言将图片转换成16进制的字符串(base64)
  12. h5-上传图片预览
  13. C#使用Owin技术部署轻量级webApi服务
  14. PID25 / 合并果子 ☆
  15. bzoj 2653: middle (主席树+二分)
  16. python tkinter-容器、子窗体
  17. Android 一条竖线或横线、画边框
  18. Linux内存管理--虚拟地址、逻辑地址、线性地址和物理地址的区别(二)【转】
  19. SQL中distinct的用法(转载)
  20. 理解Javascript的Event Loop

热门文章

  1. [SWPU2019]Web1
  2. MySQL--SQL分类
  3. 冲刺期末阶段一<公文档案流转管理系统>
  4. 图论中最优树问题的LINGO求解
  5. 创建DateFrame的常用四种方式
  6. 对象创建模式之模块模式(Module Pattern)
  7. JAVA多线程之状态转换图
  8. LGOJ1264 K-联赛
  9. 关于富文本字段问题(mysql)
  10. day49-线程-事件