JVM-内存划分,回收速记

内存划分:程序计数器(恢复先),虚拟机栈(动态链接,方法出口),本地方法栈(Native方法)=随线程而生,随线程而灭。直接内存

方法区类,常量,静态变量,编译后代码8),对象实例,老)。

-XX:+HeapDumpOnOutOfMemoryError-XX:HeapDumpPath=../logs.dump.

 

对象已死:标记两次。1.应用计数算法,+1-1,无法解决循环引用。

2.可达性分析,没有任何引用链可以到GC roots(虚拟机栈对象、方法区静态属性引用对象、方法区常量引用对象,native方法引用对象)

分析:强引用(New不),软(溢出前),弱(一直),虚(通知)

 

垃圾收集算法:分带:1.标记-清除(效率低,碎片多,无法存大对象)2.复制算法(新8:1:1,不够分配担保)3.标记-整理(老)

 

收集器:新:1.Serial 复制,单线程,stop  2.ParNew 复制 多线程 配CMS  3.ParallelScavenge 复制 多线程 可控制吞吐量

老:4. Serial Old 标记-整理5.Parallel Old 标记-整理,其他同新。

6.CMS:最短停顿时间。标记-清除。初始、并发、重新标记,并发清除,短暂停顿,总体并发。缺点:吃CPU,浮动垃圾,大碎片。

7. G1 1.7特有,并行,分带,空间整合(总体整理,局部复制),可预测停顿(智能学习,优先列表)。

 

注意:1大对象直接进入老年代2长期存活的对象进入老年代15

3.动态对象年龄判定。4空间分配担保

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值