首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
宝塔
V2EX  ›  Java

CMS 收集器如何处理 WeakReference ?

  •  
  •   zsh1995 · 245 天前 · 721 次点击
    这是一个创建于 245 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    1 回复  |  直到 2019-03-20 09:02:42 +08:00
        1
    liangdu   245 天前 via Android
    纠正一下,gc 标记的是存活的对象,在对象头部的 markword 状态字里面,另外有一个浮动垃圾的概念,你这种说话那 wr 会变成浮动垃圾,浮动垃圾有个重要的 jvm 参数,叫什么忘了,叫什么 initial 什么 occupy 什么来的,就是用来控制 cms 启动的时机(当容量达到多少时就会启动)
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4301 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 23ms · UTC 08:49 · PVG 16:49 · LAX 00:49 · JFK 03:49
    ♥ Do have faith in what you're doing.