算法是计数器、标记-清除、标记-复制、等这些算法,运行策略是gc线程和程序运行线程是并行、串行的等?默认是哪一种,在哪里更改呢

解决方案 »

  1.   

    分3段,SS#1 SS#2 还有最后一个名字忘了,反正是最大的空间当需要执行GC时候,会先去SS#1找那些还有引用的对象,然后把有用的直接全部COPY到SS#2,那么SS#1就整个空下来可以继续使用
    当SS#2满了,重复上面动作,不过是COPY到SS#1去
    当SS#1、SS#2都满了,就把活的对象COPY到最后那块空间去,还有当一个对象从1->2、2->1之间来回到一定次数,也会直接把那个对象COPY到最后那块空间去上述的COPY过程中,JVM会有短暂的暂停所以综合来说,SUN的JVM是采取类似WINDOW的数据整理的方式来整合对象,把所有数据堆到一边去,然后用一个类似指针的标识,把该指针所指的后面全部当作是可用空间使用
      

  2.   

    上面
    当需要执行GC时候,
    应该是
    当JVM需要GC的时候
      

  3.   

    在JVM运行的不同时间,垃圾回收策略应该是不一样的。比如初始运行的时候,垃圾较多,用标记清除,
    运行稳定的时候,垃圾比较少,用............忘记了
      

  4.   

    IBM的,Oracle的等jvm垃圾收集策略是不同的