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.