Re: Jak se podívat které objekty garbage collector vymazal?

2011-09-22 Tema obsahu Libor Jelinek
Aha, tak to se teď úplně stydím, ale máte pravdu. To abych teď chodil kanály... Dne 22. září 2011 14:15 Lukáš Marek napsal(a): > Tak to jste asi na špatné stopě. Null indikuje pouze "nepřiřazeno". > > GC nefunguje tak, že by v běžící aplikaci různě rušil existující objekty, > ruší pouze objekty,

Re: Jak se podívat které objekty garbage collector vymazal?

2011-09-22 Tema obsahu Lukáš Marek
Tak to jste asi na špatné stopě. Null indikuje pouze "nepřiřazeno". GC nefunguje tak, že by v běžící aplikaci různě rušil existující objekty, ruší pouze objekty, ke kterým se už nelze nijak dostat - není na ně odkaz. Object o = new Object(); //vytvářím objekt a ukládám odkaz do proměnné o. GC se

Re: Jak se podívat které objekty garbage collector vymazal?

2011-09-22 Tema obsahu Libor Jelinek
O GC jsem se nikdy dosud nestaral, tedy možná hloupá otázka, ale kdyby to dělal GC, tak jak bych to poznal? Vždycky jsem si myslel, že null indikuje "nepřiřazeno" nebo "vyčištěno GC". Libor Dne 22. září 2011 11:22 "Zdeněk Troníček" napsal(a): > Dobrý den, > > toto ale přeci nesouvisí s GC. Jestl

Re: Jak se podívat které objekty garbage collector vymazal?

2011-09-22 Tema obsahu Libor Jelinek
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 napsal(a): > "je ve vlastnosti místo Stringu null" > > Sice není dvakrát srozumitelné, co tím myslíte (jaká "vlastnost"? > java.util.Properties

RE: Jak se podívat které objekty garbage collector vymazal?

2011-09-22 Tema obsahu Pecinovský Rudolf
> 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. A co si dát v debuggeru break

Re: Jak se podívat které objekty garbage collector vymazal?

2011-09-22 Tema obsahu Zdeněk Troníček
Dobrý den, toto ale přeci nesouvisí s GC. Jestliže je tam null, tak je to téměř jistě proto, že tam byl null přiřazen. Hledejte proč tam knihovna dala null. GC za to nemůže. Z.T. -- Zdenek Tronicek FIT CTU in Prague Libor Jelinek napsal(a): > Dobrý den, > nene o optimalizaci nejde. Dohledávám

Re: Jak se podívat které objekty garbage collector vymazal?

2011-09-22 Tema obsahu Jiri Sedlacek
Zdravim, zkuste Byteman (http://www.jboss.org/byteman), ten umi menit i tridy z baliku java. --JS Dne 22. září 2011 11:17 "Zdeněk Troníček" napsal(a): > AspectJ sice zvládne i privátní metody, ale neumí měnit třídy z balíku java. > > Z.T. > -- > Zdenek Tronicek > FIT CTU in Prague > > > Michal

Re: Jak se podívat které objekty garbage collector vymazal?

2011-09-22 Tema obsahu Zdeněk Troníček
AspectJ sice zvládne i privátní metody, ale neumí měnit třídy z balíku java. Z.T. -- Zdenek Tronicek FIT CTU in Prague Michal Eibl napsal(a): > Ano, bylo mysleno mit hlidanou finalize(). > AspectJ by nemel mit problem nejen s protected ale ani s private. > > M. > > On 22.9.2011 9:16, Vaclav Stu

Re: Jak se podívat které objekty garbage collector vymazal?

2011-09-22 Tema obsahu Roman Kratochvil
"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 po

Re: Jak se podívat které objekty garbage collector vymazal?

2011-09-22 Tema obsahu Lukas Barton
A nebylo to lepsi zdebugovat? Pokud je ta knihovna prelozena s debugging infomacena, melo by jit pouzit JD-Eclipse nebo JadClipse. Lukas 2011/9/22 Libor Jelinek > Dobrý den, > nene o optimalizaci nejde. Dohledávám podivné chování closed-source > externí knihovny. V rámci jedné své metody si u

Re: Jak se podívat které objekty garbage collector vymazal?

2011-09-22 Tema obsahu Michal Eibl
Ano, bylo mysleno mit hlidanou finalize(). AspectJ by nemel mit problem nejen s protected ale ani s private. M. On 22.9.2011 9:16, Vaclav Stumbauer wrote: Musim priznat ze je mimo moji mentalni kapacitu rozlusit jakym zpusobem by AOP melo resit problem tazatele, zkuste vyhovet tazatali a rozves

Re: Jak se podívat které objekty garbage collector vymazal?

2011-09-22 Tema obsahu Libor Jelinek
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í i

Re: Jak se podívat které objekty garbage collector vymazal?

2011-09-22 Tema obsahu Martin Kuba
Dne 22.9.2011 09:16, Vaclav Stumbauer napsal(a): Musim priznat ze je mimo moji mentalni kapacitu rozlusit jakym zpusobem by AOP melo resit problem tazatele, zkuste vyhovet tazatali a rozvest jak presne jeho problem pomoci AOP resit :-). Jediny pro me viditelny link (podle me nefcni) je mit inter

Re: Jak se podívat které objekty garbage collector vymazal?

2011-09-22 Tema obsahu Vaclav Stumbauer
Musim priznat ze je mimo moji mentalni kapacitu rozlusit jakym zpusobem by AOP melo resit problem tazatele, zkuste vyhovet tazatali a rozvest jak presne jeho problem pomoci AOP resit :-). Jediny pro me viditelny link (podle me nefcni) je mit interceptor na PROTECTED metode (definovana v ramci Obje

Re: Jak se podívat které objekty garbage collector vymazal?

2011-09-21 Tema obsahu Martin Kuba
Dne 21.9.2011 15:49, Michal Eibl napsal(a): Kniha je tu http://www.manning.com/laddad2/ zdrojaky jsou tam ke stazeni, tohle je konkretne z ch02\workspace\Section2.4.3LoadTimeWeaving On 21.9.2011 15:04, Libor Jelinek wrote: Můžete to s těmi aspektovými frameworky a weak a phantonovými nápady ro

Re: Jak se podívat které objekty garbage collector vymazal?

2011-09-21 Tema obsahu Zdeněk Troníček
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

Re: Jak se podívat které objekty garbage collector vymazal?

2011-09-21 Tema obsahu Michal Eibl
No, to se tak nadefinuje nějaký cutpoint - k nejake metode se pridari jina metoda a rekne se, ze ta jina metoda (aspekt) se zavola pred nebo po vykonani te hlavni metody (nebo se misto toho zavola ta jina metoda, ktera zevnitr zavola tu puvodni :)). Je potreba na to mit vhodny prekladac, pokud

Re: Jak se podívat které objekty garbage collector vymazal?

2011-09-21 Tema obsahu Vaclav Stumbauer
Zkuste toto, urcite to poberete: http://download.oracle.com/javase/1.4.2/docs/api/java/lang/ref/PhantomReference.html http://cs.wikipedia.org/wiki/Phantom_reference VS 2011/9/21 Libor Jelinek : > Eclipse profiler neznám, jelikož aktivně vyvíjím pro NetBeans > Platform, ale profiler z NetBeans

Re: Jak se podívat které objekty garbage collector vymazal?

2011-09-21 Tema obsahu Libor Jelinek
Eclipse profiler neznám, jelikož aktivně vyvíjím pro NetBeans Platform, ale profiler z NetBeans IDE (a jeho nadmnožina VisualVM) aktivně používám a ty právě toto nedovedou. Jinak na zmíněné instance, reference, prohlídku vláken apod. je to nádhera. Libor Dne 21. září 2011 15:02 Petr Janata nap

Re: Jak se podívat které objekty garbage collector vymazal?

2011-09-21 Tema obsahu Libor Jelinek
Můžete to s těmi aspektovými frameworky a weak a phantonovými nápady rozvést? To se přiznám, že už je na mě příliš Ohledně referencí vím, že existují 4 typy referencí, ale aspektové programování slyším poprvé Libor Dne 21. září 2011 14:50 Michal Eibl napsal(a): > Nešel by použít nějaký a

Re: Jak se podívat které objekty garbage collector vymazal?

2011-09-21 Tema obsahu Petr Janata
Dobrý den, umí to většina profilerů. Používal jsem JProfiler(placený), tam jsou vidět počty instancí tříd, které vznikají a zanikají mezi jednotlivými snapshoty paměti. Zdarma jsou třeba: NetBeans profiler [1] je celkem ucházející, má pěknou Liveness tabulku pro počty instancí tříd. Nebo TPTP [2]

Re: Jak se podívat které objekty garbage collector vymazal?

2011-09-21 Tema obsahu Michal Eibl
Nešel by použít nějaký aspektový framework? AspectJ, SpringAOP... On 21.9.2011 14:30, Libor Jelinek wrote: Bohužel ta smutnější varianta je má situace. Jedná se o cizí třídu. finalize() přidat nemohu. Nicméně jsem zjistil, že nástroj JProfiler to dovede vypsat, ale stojí téměř 500 EUR, takže ta

Re: Jak se podívat které objekty garbage collector vymazal?

2011-09-21 Tema obsahu Kamil Podlesak
Případně PhantomReference, která je k tomu přímo určena. podlesh 2011/9/21 Vaclav Stumbauer : > Alespon nejaka cesta by mohla byt pres monitoring WeakReference, > pokud mate pristup k instanci objektu od te tridy co vas zajima. > > VS > > > > 2011/9/21 Libor Jelinek : >> Bohužel ta smutnější vari

Re: Jak se podívat které objekty garbage collector vymazal?

2011-09-21 Tema obsahu Vaclav Stumbauer
Alespon nejaka cesta by mohla byt pres monitoring WeakReference, pokud mate pristup k instanci objektu od te tridy co vas zajima. VS 2011/9/21 Libor Jelinek : > Bohužel ta smutnější varianta je má situace. Jedná se o cizí třídu. > finalize() přidat nemohu. Nicméně jsem zjistil, že nástroj JProf

Re: Jak se podívat které objekty garbage collector vymazal?

2011-09-21 Tema obsahu Libor Jelinek
Bohužel ta smutnější varianta je má situace. Jedná se o cizí třídu. finalize() přidat nemohu. Nicméně jsem zjistil, že nástroj JProfiler to dovede vypsat, ale stojí téměř 500 EUR, takže taky nic... I tak díky Libor Dne 21. září 2011 13:20 Pecinovský Rudolf napsal(a): >> existuje nějaký způsob ja

RE: Jak se podívat které objekty garbage collector vymazal?

2011-09-21 Tema obsahu Pecinovský Rudolf
> existuje nějaký způsob jak zjistit jméno třídy objektu, které bylo "garbage > collected" Javou? Je možné definovat pro třídu, resp. její instance, metodu finalize(), která kamsi cosi zapíše. Nicméně to je možné pouze pro třídy, jejichž definice můžeš ovlivnit. Informace o rušení instancí tříd

Jak se podívat které objekty garbage collector vymazal?

2011-09-21 Tema obsahu Libor Jelinek
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