请教关于 Java ( Android)虚拟机 GC 中 non-generational 的理解 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
michaelye1988
V2EX    问与答

请教关于 Java ( Android)虚拟机 GC 中 non-generational 的理解

 
  •   michaelye1988 2017-04-04 13:37:05 +08:00 2131 次点击
    这是一个创建于 3120 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近在翻译一本 Android 开发相关的书,遇到一处关于 GC 的地方不太理解,希望有人能解答一下困惑。

    原文:

    The Dalvik Virtual Machine also includes some Java Virtual Machine (JVM) features, such as garbage collection (GC). There has been a lot of criticism through the GC because of its non-generational nature; it's famous for driving developers crazy.

    我的翻译:

    Dalvik 虚拟机也包含了一些 Java 虚拟机的特性,例如垃圾回收( GC )。垃圾回收由于它的 non-generational 特性而饱受批评,该特性以给开发者带来痛苦而闻名。


    问题:对于“ non-generational ”该怎么理解呢?

    我的理解是:
    “ generational ”在 GC 中可以理解为对堆对象进行“分代”:年轻代,年老代。接着对于不同分代,采用不同的回收算法,以提高垃圾回收机制的效率。

    那么“ non-generational ”是否可以理解为“非分代”,也就是不对堆内存进行分代,这样回收算法的效率必然较低。结合上下文,是否可以理解为:非分代,导致垃圾回收效率低下,给开发者带来痛苦呢?

    但据我所知现在的 Java 虚拟机貌似都有进行分代,是不是之前的虚拟机没有进行分代呢?
    第 1 条附言    2017-04-04 18:00:05 +08:00
    基本能确定是我所理解的那样,在 Android2.3 中,引入了对虚拟机的优化,采用并发的方式提高了垃圾回收的效率。

    以下是我查到的相关资料,分享给大家:

    https://developer.android.com/training/articles/perf-tips.html
    The concurrent garbage collector introduced in Android 2.3 helps, but unnecessary work should always be avoided.

    https://developer.android.com/about/versions/android-2.3-highlights.html
    Dalvik runtime
    Dalvik VM:
    Concurrent garbage collector (target sub-3ms pauses)
    Adds further JIT (code-generation) optimizations
    Improved code verification
    StrictMode debugging, for identifying performance and memory issues

    再次感谢 @sagaxu 的提醒,让我找到方向。
    2 条回复    2017-04-04 17:42:41 +08:00
    sagaxu
        1
    sagaxu  
       2017-04-04 15:03:59 +08:00 via Android   1
    很多年前的安卓内存是不分代的,因为小内存分代效果不明显
    michaelye1988
        2
    michaelye1988  
    OP
       2017-04-04 17:42:41 +08:00
    @sagaxu 学习了!
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2174 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 16:04 PVG 00:04 LAX 09:04 JFK 12:04
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86