最近查找了很多关于OOM,甚至于Java内存管理以及JVM的相关资料,发现这方面的东西太多了,竟有一种眼花缭乱的感觉,要想了解全面的话,恐非一篇文章能说清的,因此按照自己的理解整理了一篇,剩下的还需要继续学习. 1)什么是OOM? OOM,全称“Out Of Memory”,翻译成中文就是“内存用完了”,来源于java.lang.OutOfMemoryError.看下关于的官方说明: Thrown when the Java Virtual Machine cannot allocate an…
一.问题情况 最近用户反映系统响应越来越慢,而且不是偶发性的慢.根据后台日志,可以看到系统已经有oom现象. 根据jdk自带的jconsole工具,可以监视到系统处于堵塞时期.cup占满,活动线程数持续增加,堆内存接近峰值. 二.分析情况 使用jconsole分析: 找到jdk安装路径,点击bin目录下的jconsole.exe,运行.…
引言:     在进行Web開始时.乱码是我们最常常遇到也是最主要的问题.有经验的程序员非常easy能解决,刚開始学习的人则easy被泥潭困住. 并且非常多时候.我们即使攻克了乱码问题也是不明就里.往往云里雾里.     事实上乱码问题非常easy,就是client和server使用了不一样的字符集导致的.也就是我们发送文件时用的字符编码和解析文件的编码不一致.所以仅仅要搞清楚了我们的文件是怎么被编码和解码的解决乱码就非常easy了.分析乱码,我们从请求乱码和响应乱码来分析,请求乱码又须要依据G…
一,问题产生     项目采用Tomcat6.0为服务器,数据库为mysql5.1,数据库持久层为hibernate3.0,以springMVC3.0为框架,项目开发完成后,上线前夕进行稳定性拷机,测试数据为插入4条/S,更新4条/S,访问300次/S,前期运行速度顺畅,三天后就开始运行缓慢,访问量达到1500W次后以抛出Java heap space结束. 二.问题分析     1.前期分析为连接池内存溢出,期间优化了连接池参数,调整了tomcat线程参数,替换数据库连接池,问题依旧     …
引言 GET请求的本质表现是将请求參数放在URL地址栏中.form表单的Method为GET的情况.參数会被浏览器默认编码,所以乱码处理方案是一样的. 对于POST请求乱码.解决起来要比GET简单.我们关心的重点是在Request Body中. 请求乱码--Method方式 使用Method方式发送HTTP请求时,依据HTTP协议的规定,查询參数应该在Request的Body中.比如在Chrome下能够看到URL中不含有查询參数. 浏览器的编码 浏览器对POST的Request Body编码会採…
1.OOM for Heap=>例如:java.lang.OutOfMemoryError: Java heapspace[分析] 此OOM是由于JVM中heap的最大值不满足需要,将设置heap的最大值调高即可,参数样例为:-Xmx2G[解决方法]调高heap的最大值,即-Xmx的值调大. 2.OOM for Perm=>例如:java.lang.OutOfMemoryError: Java permspace[分析] 此OOM是由于JVM中perm的最大值不满足需要,将设置perm的最大值…
1. 写在前面 | 本文主要针对 Hotspot VM 中"CMS + ParNew"组合的一些使用场景进行总结.重点通过部分源码对根因进行分析以及对排查方法进行总结,排查过程会省略较多,另外本文专业术语较多,有一定的阅读门槛,如未介绍清楚,还请自行查阅相关材料. | 总字数 2 万左右(不包含代码片段),整体阅读时间约 30min ,文章较长,可以选择你感兴趣的场景进行研究. 1.1 引言 自 Sun 发布 Java 语言以来,开始使用 GC 技术来进行内存自动管理,避免了手动管理带…
http://developer.51cto.com/art/201112/305696.htm 1.OOM for Heap=>例如:java.lang.OutOfMemoryError: Java heap space 分  析 此OOM是由于JVM中heap的最大值不满足需要,将设置heap的最大值调高即可,参数样例为:-Xmx2G 解决方法 调高heap的最大值,即-Xmx的值调大.2.OOM for Perm=>例如:java.lang.OutOfMemoryError: Java…
左右c++与java中国的垃圾问题的分析与解决 DionysosLai(906391500@qq.com)  2014/8/1 问题分析: 之所以会出现中文乱码问题,归根结底在于中文的编码与英文的编码方式存在差异. 在java内部是使用16bit的unicode编码(即utf-16)来表示字符串.不管英文还是中文都是2字节. C/C++使用的是原始数据,ascii是一个字节,中文通常是GB2312编码,用2个字节表示一个汉字. Jni内部是使用utf-8编码表示字符串的,utf-8是扁长的uni…
文<左右c++与java中国的垃圾问题的分析与解决>一bug分析 DionysosLai(906391500@qq.com) 2014/10/21 在前几篇一博客<关于c++与java中文乱码问题分析与解决>.地址例如以下:http://blog.csdn.net/dionysos_lai/article/details/38389765.文中具体介绍了c++与java数据传递时.为何会出现中文乱码的原因,并提出了适当的解决方法. 方法例如以下: int CCDirector::G…