Java堆内存溢出

只要不断创建对象,并且保证GC Roots到对象之间有可达路径来避免垃圾回收机制清除这些对象,

那么在对象数量到达最大堆的容量限制后就会产生内存溢出异常,代码如下:

import java.util.ArrayList;
import java.util.List;public class HeapOOM {static class OOMObject {}public static void main(String[] args) {List<OOMObject> list = new ArrayList<>();while (true) {list.add(new OOMObject());}}}

在运行的时候,需要设置一下Java堆的大小,并且不可扩展,操作如下:

然后填写JVM启动参数:-Xms20m -Xmx20m -XX:+HeapDumpOnOutOfMemoryError

限制Java堆大小20m,最大值和最小值一致就达到不可扩展的目的了,-XX:+HeapDumpOnOutOfMemoryError参数可以让虚拟机在出现

内存溢出异常时Dump出当前的内存转储快照以便事后分析。(感兴趣的可以使用内存映像分析工具Eclipse Memory Analyzer打开堆转储快照文件进行分析)

运行结果如下:

转载于:https://www.cnblogs.com/java-spring/p/9851597.html

OutOfMemoryError/OOM/内存溢出异常实例分析--堆内存溢出相关推荐

  1. MAT 分析堆内存快照

    MAT 是基于 Eclipse 开发的 Java 堆内存快照分析工具. 下载地址: https://www.eclipse.org/mat/downloads.php 如果你分析的堆内存快照文件比较大 ...

  2. GaussDB ETCD 服务异常实例分析处理的5种方法

    首先确认是否是虚拟机.网络故障 虚拟机故障导致 ETCD 服务异常告警 问题现象 管控面上报 etcd 服务异常告警,虚拟机发生重启,热迁移.冷迁移,HA 等动作. 问题分析及界定 在告警信息中找到实 ...

  3. java内存优化详解_jvm堆内存优化详解

    在日常的运维工作中用到tomcat,都需要对tomcat中的jvm虚拟机进行优化,只有知道需要优化参数的具体用处,才能深刻体会优化jvm的意义所在. 在平常的工作中我们谈对jvm的优化,主要是针对ja ...

  4. 内存池、自由空间、堆内存 等名称解释(不间断更新。。。)

    简单说说几个名词解释:(c++ primer 第五版) 1. 内存池.自由空间.堆内存 其实是同一种概念的不同叫法. 编译器分配的内存,一般在全局存储区,要么在栈内存等. 堆内存,是程序员自己分配的内 ...

  5. Java反序列化json内存溢出_fastJson与一起堆内存溢出'血案'

    现象 QA同学反映登录不上服务器 排查问题1–日志级别 查看log,发现玩家登录的时候抛出了一个java.lang.OutOfMemoryError 大概代码是向Redis序列化一个PlayerMir ...

  6. ThreadLocal 内存泄露的实例分析

    前言 之前写了一篇深入分析 ThreadLocal 内存泄漏问题是从理论上分析ThreadLocal的内存泄漏问题,这一篇文章我们来分析一下实际的内存泄漏案例.分析问题的过程比结果更重要,理论结合实际 ...

  7. 内存溢出 permgen_通过增加堆内存/ Permgen空间来修复Eclipse OutOfMemory错误

    内存溢出 permgen Eclipse Out of Memory Error happens when you are working on large projects. Sometimes i ...

  8. oracle 内存分配,Oracle实例中的内存分配管理

    SGA(System Global Area)管理 SGA是一段共享内存区域,包含实例的数据和控制信息,多个用户可以通过这个内存区域共享数据,以避免反复.长时间的从物理磁盘访问数据. SGA的组成:D ...

  9. 内存优化-使用tcmalloc分析解决内存泄漏和内存暴涨问题

    其实我一直很想写关于tcmalloc的内存泄漏检测的文章,只是一直记不起来该如何下笔,有时项目太忙,在整理这方便的思考过少,另外遇到的问题也不是很多,直到最近用tcmalloc帮A项目排查一些很棘手的 ...

最新文章

  1. 云计算之Docker介绍
  2. 8道Python基础面试练习题
  3. Zone.js 简介 抛砖引玉
  4. 4.5 偏斜类-机器学习笔记-斯坦福吴恩达教授
  5. 数据分析TB级别数据量大了怎么办,不会代码模型训练怎么办?
  6. swiftui 跳转_酷!苹果推出 SwiftUI,提高编程效率
  7. overridePendingTransition介绍
  8. Alibaba Nacos配置中心功能介绍与不同命名空间、分组等配置
  9. ProxyToken:微软 Exchange 服务器中的认证绕过新漏洞,可窃取用户邮件
  10. mongodb 常用操作(转)
  11. Windows Server 2012 克隆修改SID
  12. 主流HTML5游戏框架的分析和对比(Construct2、ImpactJS、CreateJS、Cocos2d-html5……)
  13. JAVA WEB 设置session过期时间
  14. 【贴图操作】怎么用sp啊?
  15. 用Python设置Excel样式
  16. 那些我们想当然的错误[SQL]
  17. Java课程寒假之开发记账本软件(网页版)之一
  18. 什么是做空 什么是做空期权波动率?
  19. sqlserver2005数据库18456错误(转)
  20. 原生Androidx86 7.1 移动硬盘 装机及卸载经验

热门文章

  1. 未来CPU内核将更简单!
  2. python没有英文基础能学吗-初中毕业没有英语基础能学编程吗?该学C或者Python?...
  3. 安卓python编辑器-有了这款编辑器,随时随地都能愉快的学习python!
  4. python3.8.2安装教程-在服务器上安装python3.8.2环境
  5. python爬虫正则表达式实例-python爬虫 正则表达式解析
  6. 100个必会的python脚本-学会这个Python库,至少能减少100行代码
  7. python第三方库安装-python的第三方库安装
  8. python官方网站地址-index
  9. python绘制3d图形-python matlibplot绘制3D图形
  10. python和c-Cpython和Jython的对比介绍