zsh1995
V2EX  ›  Java

CMS 收集器如何处理 WeakReference ?

  •  
  •   zsh1995 · Mar 19, 2019 · 2630 views
    This topic created in 2657 days ago, the information mentioned may be changed or developed.

    CMS 有个并发清理阶段,会清理之前被标记的内存。而 WeakReference 每次垃圾回收时都会被标记清除(?是这样吗),如果在并发清理阶段,用户调用了 WeakReference.get() ,并建立起一个强引用,那么会不会出问题呢?

    1 replies    2019-03-20 09:02:42 +08:00
    liangdu
        1
    liangdu  
       Mar 20, 2019 via Android
    纠正一下,gc 标记的是存活的对象,在对象头部的 markword 状态字里面,另外有一个浮动垃圾的概念,你这种说话那 wr 会变成浮动垃圾,浮动垃圾有个重要的 jvm 参数,叫什么忘了,叫什么 initial 什么 occupy 什么来的,就是用来控制 cms 启动的时机(当容量达到多少时就会启动)
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   871 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 20:40 · PVG 04:40 · LAX 13:40 · JFK 16:40
    ♥ Do have faith in what you're doing.