问题描述:

  1、系统在执行某个操作时,必现OOM异常。

问题的定位:

  1、排查代码,未发现问题。

  2、在虚拟机启动时,添加参数:-XX:+HeapDumpOnOutOfMemoryError(当发生oom异常时,生成dump文件),得到异常时的dump文件。

  3、使用 jvisualvm 分析dump文件。发现某个pojo存在很多个实例对象,再定位到具体抛出异常的地方,发现是在获取数据库数据时,没有使用分页参数,导致 select * from tableName 这样的低级错误发生。

问题的解决:

  显而易见。

由该案例得到的总结:

  1、由于开发人员的不规范编码,导致的问题。

    比如说:变量的命名问题,变量名称应该顾名思义。

    因此:强制推行全员使用《阿里java开发规范》进行代码的检查与开发。

案例(1)-- OOM异常的更多相关文章

  1. OOM异常产生的原因和处理方法

    一般而言,android中常见的原因主要有以下几个: 1.数据库的cursor没有关闭. 2.构造adapter没有使用缓存contentview. 3.调用registerReceiver()后未调 ...

  2. java虚拟机(一)——内存管理机制与OOM异常

    一  java内存区域与内存溢出异常(OOM) 1)运行时数据区域划分        1.程序计数器(Program Conuter Register) 程序计数器是一块较小的内存空间,它是当前线程执 ...

  3. Android OOM异常解决方案

    一,什么是OOM异常: OOM(out of Memory)即内存溢出异常,也就是说内存占有量超过了VM所分配的最大,导致应用程序异常终止: 二,为什么会产生OOM异常呢? OOM异常是Android ...

  4. OOM异常的4种可能分析

    OOM异常:OutOfMemoryError 1.JAVA堆溢出 JAVA堆用于存储对象实例,只要不断的创建对象,并且保证GC Roots到这些对象之间有路径可以来避免垃圾回收机制清除这些对象,那么在 ...

  5. OOM异常 Java内存溢出

    1.OutOfMemoryError 抛出异常后先确定是堆溢出还是栈溢出 堆溢出:java.lang.OutOfMemoryError: Java heap space 堆出现OOM(标志就是Java ...

  6. JVM探究之 —— OOM异常

    在Java虚拟机规范的描述中,除了程序计数器外,虚拟机内存的其他几个运行时区域都有发生OutOfMemoryError(下文称OOM)异常的可能.本节探究主要基于jdk1.8的内存结构. 1. Jav ...

  7. JVM OOM异常会导致JVM退出吗?

    出处:  https://mp.weixin.qq.com/s/8j8YTcr2qhVActLGzOqe7Q  https://blog.csdn.net/h2604396739/article/de ...

  8. OOM异常的发生原因

    一,jvm内存区域 1,程序计数器 一块很小的内存空间,作用是当前线程所执行的字节码的行号指示器. 2,java栈 与程序计数器一样,java栈(虚拟机栈)也是线程私有的,其生命周期与线程相同.通常存 ...

  9. 真的可惜,四面阿里,结果我被JVM垃圾回收机制与 OOM异常卡住了

    前言 为什么需要垃圾回收 首先我们来聊聊为什么会需要垃圾回收,假设我们不进行垃圾回收会造成什么后果,我们举一个简单的例子 我们住在一个房子里面,我们每天都在里面生活,然后垃圾都丢在房子里面,又不打扫, ...

随机推荐

  1. SELECT INTO (insert into) 和 INSERT INTO SELECT (insert into select) 两种表复制语句

    1.INSERT INTO SELECT语句   语句形式为:Insert into Table2(field1,field2,...) select value1,value2,... from T ...

  2. Qt类关系一览表

  3. gdbhooks 栈信息

    https://devguide.python.org/gdb/ https://sourceware.org/gdb/current/onlinedocs/gdb/Python.html#Pytho ...

  4. Eclipse 的快捷键以及文档注释、多行注释的快捷键 一、多行注释快捷键

    一.多行注释快捷键 1.选中你要加注释的区域,用ctrl+shift+C 或者ctrl+/ 会加上//注释2.先把你要注释的东西选中,用shit+ctrl+/ 会加上/*    */注释 3.以上快捷 ...

  5. Kotlin集合——List集合

    Kotlin集合——List集合 转 https://www.jianshu.com/p/3f3bb4943638   List集合的最大特征就是集合元素都有对应的顺序索引.List集合允许使用重复元 ...

  6. WebMercator和geographic互相转换

    方法1:esri的sdk中包含的方法:esri.geometry.geographicToWebMercator() 方法2:自己转换 //经纬度转Web墨卡托 function lonLat2Web ...

  7. yii2 api接口 实现国际化多语言设置

    1) 在 /config/main.php 下添加如下代码: 'components' => [ 'language' => 'zh-CN', 'i18n' => [ 'transl ...

  8. 【WebView】Android WebView中的Cookie操作

    Hybrid App(混合式应用)的开发过程中少不了与WebView的交互,在涉及到账户体系的产品中,包含了一种登录状态的传递.比如,在Native(原生)界面的登录操作,进入到Web界面时,涉及到账 ...

  9. Python - Django - 模板语言之自定义过滤器

    自定义过滤器的文件: 在 app01 下新建一个 templatetags 的文件夹,然后创建 myfilter.py 文件 这个 templatetags 名字是固定的,myfilter 是自己起的 ...

  10. jenkins安装插件一直不动

    刷新界面即可,查看已安装的插件即可,这个时候已经安装完了,不用重启,直接使用插件即可