Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Spustite aplikáciu Java s profiler nástroj ( Hprof ) aktívneho a zaznamenávať haldy profilov . Presný spôsob , ako to dosiahnuť , závisí na operačnom systéme . Napríklad na Linux , spustite aplikáciu :
java - Xrunhprof : file = myLog.txt , haldy = miesta myapp
Vymeňte myapp menom vašej Java aplikácie . Tento vyvolanie spustí Java Virtual Machine ( JVM ) v režime profilovanie ; . JVM zapíše výstup profiler podať myLog.txt
2
Urob si svoj spôsob aplikácie nejakú záťaž , takže objekty ( v najmä HashMaps ) sú pridelené a zlikvidovať . Urobte si prehľad o stave haldy . Napríklad na Linuxe , profiler generuje snímku stavu haldy , keď spustenie :
zabiť -3 jvmPID
Vymeňte jvmPID s identifikátorom procesu inštancie JVM , ktorý je spustený vaše aplikácie . Hprof pripojí snímku haldy na aktuálny obsah súboru myLog.txt .
3
Urob si svoj spôsob aplikácie zhruba rovnaké množstvo záťaže tak , aby viac objekty sú vytvárané a garbage collector . Vezmite si ďalšiu snímku stavu haldy ako v kroku 2.
4
Porovnajte dve snímky zhotovené v krokoch 2 a 3. Najmä sa pozrieť na linkách medzi " POZEMKY BEGIN " a " POZEMKY END . " Identifikovať tried, ktorých objekty sa zvýšili najviac v počte medzi dvoma snímkami , ktoré sú zodpovední za úniky pamäte , pretože zaťaženie spracovávané aplikácií bol približne na rovnakej úrovni po dvoch snímok
5
Prezrite . sa snímky na identifikáciu častí objektov kódu prideľovanie že nechápem uvoľnených v prípade potreby . Za to , že sa sústredí na riadkoch začínajúcich " TRACE " , ktoré majú " Zahrnúť chýba odstránenie odkazov na problémové triedy pre časti kódu zistených v kroku 5. Pamäťové úniku už nestane .
6