JVM垃圾回收机制
JVM的组成
程序计数器
执行class文件到达哪一行了,线程私有的,不会发生内存泄漏。
堆
内存管理最大的一部分,当程序里new出一个对象,或者声明一个数组时,都会在堆内存中申请出一块空间。
分为新生代、年老代、永久代。
发生异常时是因为往里面添加的对象太多。
虚拟机栈
线程私有,与线程共存。
发生异常时是因为方法进去后无法出栈。
本地方法栈
直接跟操作系统打交道,不加载Java方法,与虚拟机栈互相调用。
方法区
内存分配与回收策略
判断对象已死的算法
引用计数器算法(Java中现在不使用)
可达性分析算法(目前在使用)
再谈引用
垃圾回收算法
标记-清除算法
标记-整理算法
复制算法
分代垃圾回收
垃圾收集器
Serial收集器
PerNew收集器(Serial收集器的多线程版本)
Parallel Scavenge收集器
Serial Old收集器
Serial收集器的老年代版本。
Parallel Old收集器
Parallel Scavenge收集器老年代版本。
CMS收集器(边污染边清除)
G1收集器
常见参数分配
参考资料
标签:收集器,回收,算法,垃圾,JVM,Serial,内存 来源: https://www.cnblogs.com/renxiuxing/p/14978626.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。