java 内存溢出-与gc
2024-10-08 20:45:51
感谢原作者
在日常中我们经常遇到这样的错误: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】启动参数内存值设定的过小。
但是除了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
來源:简书
感谢原作者
最新文章
- [.NET领域驱动设计实战系列]专题三:前期准备之规约模式(Specification Pattern)
- 彻底搞定 C/C++ 指针
- 速度之王 — LZ4压缩算法(三)
- 增强Web可用性,你需要避免的七大设计错误
- CentOS linux 下eclipse+cdt编译报undefined reffrece to *
- Laravel-Administrator enum使用数字key
- 一步步搭建自己的轻量级MVCphp框架-(四)一个国产轻量级框架Amysql源码分析(3) 总进程对象
- 学习:Linux基础知识<;一>;
- log4j的properties详细配置,分级输出日志文件
- codeforces 383C Propagating tree 线段树
- 运用C语言将图片转换成16进制的字符串(base64)
- h5-上传图片预览
- C#使用Owin技术部署轻量级webApi服务
- PID25 / 合并果子 ☆
- bzoj 2653: middle (主席树+二分)
- python tkinter-容器、子窗体
- Android 一条竖线或横线、画边框
- Linux内存管理--虚拟地址、逻辑地址、线性地址和物理地址的区别(二)【转】
- SQL中distinct的用法(转载)
- 理解Javascript的Event Loop