JAVA GC 分代

Java的垃圾收集(GC)主要针对堆内存进行分代回收,包括年轻代、老年代和(原本的)永久代。年轻代采用"停止-复制"算法,由Eden和两个Survivor区组成,对象经过多次Minor GC后进入老年代。老年代使用标记-整理算法,当空间不足时触发Major GC或Full GC。永久代主要存放常量和类,JDK1.6后逐渐被元空间取代。
摘要由CSDN通过智能技术生成

概念:

  1. Java GC:garbage collec,垃圾收集,回收
  2. GC是对JVM中的内存进行标记和回收,Sun公司的JDK用的虚拟机都是HotSpot,对象化的实例是放在heap堆内存中的,这里讲的分代收集也是指对堆内存的回收。
  3. vm区域总体分两类,heap区和非heap区。heap区又分:Eden Space(伊甸园)、Survivor
    Space(幸存者区)、Tenured Gen(老年代-养老区)。 非heap区又分:Code Cache(代码缓存区)、Perm
    Gen(永久代)、Jvm Stack(java虚拟机栈)、Local Method Statck(本地方法栈)。
  4. 新生代 GC(Minor GC):指发生在新生代的垃圾收集动作,因为 Java 对象大多都具 备朝生夕灭的特性,所以 Minor GC
    非常频繁,一般回收速度也比较快。
  5. 老年代 GC(Major GC / Full GC):指发生在老年代的 GC,出现了 Major GC,经常 会伴随至少一次的
    Minor GC(但非绝对的,在 ParallelScavenge 收集器的收集策略里 就有直接进行 Major GC 的策略选择过程)
    。MajorGC 的速度一般会比 Minor GC 慢 10 倍以上。

分代收集原理:
GC的分代收集分为:年轻代、老年代、永久代。(方法区是被当做永久代的,不过JDK1.6后将被取消掉了)
年轻代

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值