码迷,mamicode.com
首页 > 其他好文 > 详细

jaav内存

时间:2016-03-10 23:37:19      阅读:419      评论:0      收藏:0      [点我收藏+]

标签:

内存回收策略

   1、标记清除

       优点:简单

       缺点:存在大量的碎片

   2、标记整理(老生代)

        优点:、

        缺点:

    3、复制(适用于新生代)

       优点:简单,高效

        缺点:因为实现上需要有一个区域作为复制区域,所以浪费内存

可达性分析

    GC Root:虚拟机栈

                   方法区静态变量

                 方法区的常量引用的对象

                   本地方法栈

引用

     强引用

     软引用(内存不足之前不会回收)

    弱引用(下一次GC回收)

    虚引用

finalize执行过程:

    1、回收之前先判断是否需要执行finalize(覆盖了finalize方法而且没有执行过finalize方法)

   2、如果需要执行finalzie,则加入F-Queue,然后等待一个低优先级的线程去执行队列的finalize方法。如果执行完毕,GC会对队列的对象再一次标记,如果需要清除则会清除,所以该方法是逃脱被GC的最后机会。

   3、finalize的执行与否是不确定的,finalize线程的执行与否也是不确定的。

回收方法区:

    1、类的实例都被回收

    2、类的classloader都被回收

      3、类的Class对象没在任何的地方被引用

垃圾回收策略

   1、分代

    2、大对象直接进入老年代(避免mirror gc)

    3、空间分配担保(mirror  gc可能引起full  gc)

     4、full  gc不较慢

    

    

   

jaav内存

标签:

原文地址:http://www.cnblogs.com/YDDMAX/p/5263737.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!