java ps old gen perm gen_JVM YoungGen(新生代),OldGen(年老代),和PermGen(持久区)
Sun的JVM将整个堆分为三代:YoungGen(新生代),OldGen(年老代),和PermGen(持久区):
Minor GC:通常是指对新生代的回收。
Major GC:通常是指对年老代的回收。
Full GC:Major GC除并发gc外均需对整个堆进行扫描和回收。
复制拷贝算法:要拷贝大量数据,不会产生碎片。
标记算法:从引用根节点开始标记所有被引用的对象,把未被引用的对象清除。要遍历所有对象,会产生碎片。
young 又分为eden,survivor1(from space ),survivor2(to sapce ).youngGen区里面的对象的生命周期比较短,gc对这些对象进行回收的时候采用复制拷贝算法。
eden 每当一个对象创建的时候分配的这个区域。当eden无法分配时,触发一次Minor gc。gc每次回收的时候都将eden区存活的对象和survivor1中的对象拷贝到survivor2中,eden和survivor1清空;当gc执行下次回收的时候将eden和survivor2中的对象拷贝到surivor1中,清空eden和survivor2。依次这样执行;经过数次回收将依然存活的对象复制到OldGen区。
OldGen 当对象从年轻代晋升到老年代之前,会检测老年区的剩余空间是否大于要晋升对象的大小,如果小于则直接进行一次Full GC,以便让老年去腾出更多的空间,然后再进行Minor GC,把年轻代的对象复制到老年代;如果大于,则根据条件(HandlePromotionFailure设置)进行Minor GC 和 Full GC。
老年区采用标记算法,因为老年区对象的生命周期都是比较长的,采用拷贝算法要拷贝大量的数据。采用标记算法每次gc回收都要遍历所有的对象。
PermGen 主要存放加载进来的类信息,包括方法,属性,常量池等,满了之后可能会引起out of memory 错误。
java ps old gen perm gen_JVM YoungGen(新生代),OldGen(年老代),和PermGen(持久区)相关推荐
- java ps old gen perm gen_java – JVM YoungGen 0%,Perm Gen 99%,OldGen Full
我有一个JEE应用程序,最近开始看到CPU使用率的峰值(例如,40核心服务器上的27个核心的100%)以及应用程序不可用的时间越来越长.它与下一篇文章中描述的问题非常相似,包括弹跳应用程序服务器使问题 ...
- java ps old gen perm gen_Java 内存模型之堆内存管理
Java 内存模型之堆内存(Heap) 一.背景知识:内存类型介绍 1.什么是 Perm Gen? Perm Gen : Permanent Generation Perm Gen 区是一个特殊的JV ...
- Java新生代 与老生代
堆大小 = 新生代 + 老年代.默认下,新生代 ( Young ) = 1/3 的堆空间大小,老年代 ( Old ) = 2/3 的堆空间大小: 新生代 ( Young ) 被细分为 Eden 和 两 ...
- JVM内存区域划分Eden Space\Survivor Space\Tenured Gen\Perm Gen
JVM区域分heap区和非heap区. 1)heap区:Eden Space(伊甸园),Survivor Space(幸存者区),Tenured Gen(老年代-养老区). 2)非heap区:Code ...
- java年轻代和年老代默认比值_JAVA中的GC以及年轻代,年老代,持久代的认识
java中我们常常谈论到垃圾回收机制,那么,垃圾回收机制又是什么呢?说到JVM调优,似乎很高大上,那么JVM调的都是那些数据呢?伊甸园区,幸存区,年轻代,年老代,持久代,每个词都熟悉又陌生,似乎很深奥 ...
- java内存模型 年轻代/年老代 持久区
jvm中的年轻代 老年代 持久代 gc 虚拟机中的共划分为三个代:年轻代(Young Generation).老年代(Old Generation)和持久代(Permanent Generation) ...
- java虚拟机-JDK8-废弃永久代(PermGen)迎来元空间(Metaspace)
一.背景 1.1 永久代(PermGen)在哪里? 根据,hotspot jvm结构如下(虚拟机栈和本地方法栈合一起了): 上图引自网络,但有个问题:方法区和heap堆都是线程共享的内存区域. 关于方 ...
- Java 年轻代、年老代、GC
一篇关于gc的文章 http://www.cnblogs.com/hnrainll/archive/2013/11/06/3410042.html 自己的笔记: JVM是用c语言写的.一般说的JVM是 ...
- java年轻代_Java分代垃圾回收机制:年轻代/年老代/持久代(转)
虚拟机中的共划分为三个代:年轻代(Young Generation).年老点(Old Generation)和持久代(Permanent Generation).其中持久代主要存放的是Java类的类信 ...
最新文章
- 一张图看懂React生命周期
- 基于STC8H1K28的人机键盘界面
- hurst代码 python_python数据类型—字符串
- Django项目:CRM(客户关系管理系统)--50--41PerfectCRM实现全局账号密码修改
- 荣耀x10max鸿蒙,黄石收购荣耀X10Max指纹键电池背光喇叭
- 基于nodejs实现本地网页服务器-实现手机测试电脑开发的移动端网页
- Windows镜像文件下载速度太慢?告诉你个小妙招
- c语言免杀程序源码,[原创]Window下基于C/C++源码免杀理论及思路(新手篇)
- 2020年最新PHP面试题汇总(附答案)
- 2010年最怪异的25个面试问题,你能回答吗?
- HTTP提交方式之PUT详细介绍及POST和PUT的区别
- 思科 Spanning Tree Protocol(STP)生成树
- Unity中进行网络通信:三:unity客户端和Unity服务端互相发消息
- 微信小程序-一个跑步app
- 【C++】next_permutation / prev_permutation函数
- 未来5年光通信系统十大技术趋势发布
- 利用java开发简易版扫雷游戏
- 93---Python 极坐标系下绘制椭圆
- L028-老男孩实效教育-nfs网络文件系统企业级优化实战-12节
- 【Python中整数进制的转换】
热门文章
- 人生就像一盒巧克力,你不知道会选中哪一颗
- C#可视化编程技术第三章:DBHelper类(内含思路、代码、注释)
- linux配置dns三种方式
- 新浪微博分享 WBWebpageObject 无法显示图片问题
- 面试连环问之Redis分布式锁
- 洛谷 P8313 [COCI2021-2022#4] Izbori
- 贵阳学院c语言试卷,关于印发《贵阳学院硕士研究生入学考试(初试) 自命题工作管理办法(试行)》的通知...
- CSS 图片过渡和转换动画
- Intertek的环保解决方案-绿叶认证
- myeclise CI 2018 9破解方法