Vlastností myslím vlastnost beany. Pomocí setteru nastavím String, za pár chvil pomocí getteru získávám null...
Dne 22. září 2011 11:01 Roman Kratochvil <[email protected]> napsal(a): > "je ve vlastnosti místo Stringu null" > > Sice není dvakrát srozumitelné, co tím myslíte (jaká "vlastnost"? > java.util.Properties?), ale zdá se mi, že GC je zde falešná stopa... Pokud > je nakonec ve "vlastnosti" null, tak bych tipnul, že je to normální > reference (nějak dosažitelná Vaším kódem), a pokud tam byl předtím String, > tak to nemohl vymazat GC, protože ten nikdy žádné dosažitelné (reachable) > reference nemaže... > Pokud se ta knihovna konfiguruje pomocí Properties, podstrčte jí takové, > které jsou nemodifikovatelné. Tím se snadno najde viník, který nastavuje ono > null - až to zkusí, dojde k výjimce a ze stack trace poznáte, kdo to byl. > > Roman > > > > Dne 22.9.2011 9:31, Libor Jelinek napsal(a): >> >> Dobrý den, >> nene o optimalizaci nejde. Dohledávám podivné chování closed-source >> externí knihovny. V rámci jedné své metody si uložím si String objekt >> do knihovní instance. Volám další své metody a někdy >> po jedné jindy po dvou nebo třech volání je ve vlastnosti místo >> Stringu null. Odkaz na knihovní instanci držím jako field po celou >> dobu. >> >> Přiznám se, že také příliš nerozumím k čemu a jak použít k tomuto >> aspektové programování (pro mě dosud abstraktní pojem). Jediné po čem >> skutečně toužím je prostý log co bylo GCed... Zdá se, že to svede jen >> JProfiler za 450 EUR. >> >> Libor >> >> Dne 21. září 2011 17:59 "Zdeněk Troníček"<[email protected]> >> napsal(a): >>> >>> Dobrý den, >>> >>> k čemu to potřebujete? Pokud Vám jde o to, zjistit, kterých objektů je v >>> paměti nejvíce, doporučuji tento postup: nastavte velikost young generace >>> tak, aby docházelo pouze k Full GC. Např. pro Java2DDemo funguje -Xmn14M >>> -Xmx16M. >>> A použijte přepínač -XX:+HeapDumpBeforeFullGC. >>> Tím se před každým Full GC provede heap dump do souboru. Tyto soubory lze >>> pak prohlížet např. ve VisualVM. >>> >>> Z.T. >>> -- >>> Zdenek Tronicek >>> FIT CTU in Prague >>> >>> >>> Libor Jelinek napsal(a): >>>> >>>> Dobrý den, >>>> existuje nějaký způsob jak zjistit jméno třídy objektu, které bylo >>>> "garbage collected" Javou? >>>> >>>> Přidání parametrů do (Oracle) JVM >>>> -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps >>>> >>>> jen vypisuje vyčištěnou pamět, nikoli co bylo vyčištěno. >>>> >>>> Google mi též nepomohl. >>>> >>>> Díky >>>> Libor >>>> >>>> >>> > >
