zsh1995
V2EX  ›  Java

CMS 收集器如何处理 WeakReference ?

  •  
  •   zsh1995 · Mar 19, 2019 · 2675 views
    This topic created in 2681 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   ·   4437 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 01:00 · PVG 09:00 · LAX 18:00 · JFK 21:00
    ♥ Do have faith in what you're doing.