持久层内存溢出
2016-06-26 10:23
197 查看
简单的来说 java的堆内存分为两块:permantspace(持久带) 和 heap space。
持久带中主要存放用于存放静态类型数据,如 Java Class, Method 等, 与垃圾收集器要收集的Java对象关系不大。而heapspace分为年轻代和年老代 。年轻代的垃圾回收叫 Young
GC, 年老代的垃圾回收叫 Full GC。在年轻代中经历了N次(可配置)垃圾回收后仍然存活的对象,就会被复制到年老代中。因此,可以认为年老代中存放的都是一些生命周期较长的对象。年老代溢出原因有:循环上万次的字符串处理、创建上千万个对象、在一段代码内申请上百M甚至上G的内存,持久代溢出原因:动态加载了大量Java类而导致溢出
持久带中主要存放用于存放静态类型数据,如 Java Class, Method 等, 与垃圾收集器要收集的Java对象关系不大。而heapspace分为年轻代和年老代 。年轻代的垃圾回收叫 Young
GC, 年老代的垃圾回收叫 Full GC。在年轻代中经历了N次(可配置)垃圾回收后仍然存活的对象,就会被复制到年老代中。因此,可以认为年老代中存放的都是一些生命周期较长的对象。年老代溢出原因有:循环上万次的字符串处理、创建上千万个对象、在一段代码内申请上百M甚至上G的内存,持久代溢出原因:动态加载了大量Java类而导致溢出
相关文章推荐
- debian install kvm qemu
- 理解postgresql数据表与其对应的数据文件关系
- [bzoj2733][HNOI2012]永无乡
- UISwitch
- 搭建HelixServer步骤
- 正则
- hibernate——onetoone (单向)
- 【思维导图入门】快捷键操作
- zabbix使用宏自动发现挂载的文件系统并进行监控
- 【java多线程系列】java内存模型与指令重排序
- acm之贪心算法题目6
- 【java多线程系列】java内存模型与指令重排序
- Android App卡顿慢优化之多线程优化
- Can't create handler inside thread that has not called Looper.prepare()
- eclipse 全文搜索查找字符串
- 自定义ToolBar
- Struts2访问Servlet API的3种方式
- 百度的冬天:曾梦想成伟大公司 却为何陷入危机
- SparkR安装部署及数据分析实例
- 快速幂模板