zoukankan      html  css  js  c++  java
  • 堆里面的分区:Eden,Survivor(from+ to),老年代,各自的特点

    堆里面分为新生代和老生代(java8取消了永久代,采用了Metaspace),新生代包含Eden+Survivor区,survivor区里面分为from和to区,内存回收时,如果用的是复制算法,从from复制到to,当经过一次或者多次GC之后,存活下来的对象会被移动到老年区,当JVM内存不够用的时候,会触发Full GC,清理JVM老年区

    当新生区满了之后会触发YGC,先把存活的对象放到其中一个Survice
    区,然后进行垃圾清理。因为如果仅仅清理需要删除的对象,这样会导致内存碎
    片,因此一般会把Eden 进行完全的清理,然后整理内存。那么下次GC 的时候,
    就会使用下一个Survive,这样循环使用。如果有特别大的对象,新生代放不下,
    就会使用老年代的担保,直接放到老年代里面。因为JVM 认为,一般大对象的存
    活时间一般比较久远。

  • 相关阅读:
    Android_方向传感器
    Android 网络图片查看器与网页源码查看器
    SQLite数据库_实现简单的增删改查
    Android 解析JSON
    多线程
    并发编程
    幂等性
    Django缓存机制
    计算机基础
    RESTful规范
  • 原文地址:https://www.cnblogs.com/feicheninfo/p/9684692.html
Copyright © 2011-2022 走看看