JVM(2)参数与GC算法

 

用了0.5M

扫描二维码关注公众号,回复: 6426083 查看本文章

还没进行拓展  GC之后不能够满足就扩容

都放在eden  老年代没有用

s0 s1  太小    放不下1M的对象  放到老年代

对新生代做一定的调整   可以减少GC的发生  

                                     S区变小于利用内存的使用率

转存


GC

引用计算法

标记清除法

标记:从根节点标记可达的对象

清除:未被标记的对象

复制算法

对象的复制消耗时间性能

可触及可复活不可触及

GC线程开始清理垃圾时其他的线程要停止,以保证能够清理干净垃圾

原因就是其他线程在执行的时候可能会改变对象的引用状态,比如在进行标记的时候已经被标记为可回收的对象可能被再次引用,就会造成回收了不能被回收的对象而出现问题

新生代的GC停顿很小

老年代GC有时会发送很长时间的停顿(几十秒)    主备机

聚会清洁工清理垃圾,只有停止人们活动才能够停止了垃圾的产生,才能够打扫干净房间

主要是防止线程在CLR检查期间访问了某个对象改变了这个对象的状态。
聪明的你肯定也知道了垃圾回收最开始的阶段 会进行当前 托管堆中所有对象进行遍历,进行标记,有引用的 标记为 1 没有引用的标记为 0,标记为0 的则是GC需要回收的。

猜你喜欢

转载自blog.csdn.net/qq_29235677/article/details/90733275