Názor k článku Monitorování procesů a správa paměti v JDK6 a JDK7 (1) od donnie - Diky za clanek, tesim se na dalsi pokracovani. Kdyz...

  • Článek je starý, nové názory již nelze přidávat.
  • 6. 1. 2011 14:09

    donnie (neregistrovaný)

    Diky za clanek, tesim se na dalsi pokracovani.

    Kdyz si ctu doporuceni v ruznych diskuzich ohledne System.gc()
    tak se casto doctu ze System.gc() je evil a kdo ho pouziva tak
    jenom proto protoze nekde udelal neco blbe co gc zabranuje
    byt "dostatcne optimalni", hard core reseni je zakazat System.gc()
    uplne.

    Nicmene, co me prekvapilo kdysi bylo ze System.gc() tedy explictini
    vyvoalni "full gc", ve skutecnosti nikde negarantuje smazani skutecne vsech
    nepotrebnych objektu tj. ze kdyz mam hodne "mrtvych obejktu" na heape
    a spustim v iteraci (naprikald 10 cyklu) System.gc() tak dosahnu toho
    ze mi gc uvolni vic pameti (nez kdybych zavolal System.gc() jednou).
    Coz je docela zajiamvy protoze to oznaceni "full gc" mi evokuje ze se
    proleze cela struktura (at uz je to cokoliv) uz pri prvnim zavolani
    System.gc().

    Jinak to tveakovani parametru a vyber ruznych gc je taky sranda. Ja jsem
    naprikald vyresil OutofMemory pouze tim ze jsem nastavil vetsi velikost
    "eden generation" oblasti u doufalt gc collectoru, coz byl pro onu tridu
    poctace "jenoduchy" MarkSweepCompact gc.