wydajność javy cała książka, ebooki
[ Pobierz całość w formacie PDF ] Spis treci Przedmowa .................................................................................................. 13 Przedmowa .................................................................................................. 15 Wstp .......................................................................................................... 17 Podzikowania ............................................................................................. 21 O autorach ................................................................................................... 23 1. Strategie, podejcia i metodologie ........................................................... 25 Zasadnicze czynniki .................................................................................................................... 26 Dwa podejcia: z góry do dou oraz z dou do góry ................................................................... 29 Metoda z góry do dou ............................................................................................................ 29 Metoda z dou do góry ............................................................................................................ 30 Wybór odpowiedniej platformy i ocena systemu ...................................................................... 31 Wybór waciwej architektury procesora ............................................................................... 32 Ocena wydajnoci systemu ..................................................................................................... 33 Bibliografia ................................................................................................................................... 34 2. Monitorowanie wydajnoci systemu operacyjnego .................................. 35 Definicje ...................................................................................................................................... 36 Wykorzystanie CPU .................................................................................................................... 36 Monitorowanie wykorzystania CPU w systemach Windows ............................................... 37 Monitorowanie wykorzystania CPU w systemach Windows za pomoc komendy typeperf ............................................................................................... 40 Monitorowanie wykorzystania CPU w systemach Linux ..................................................... 41 Monitorowanie wykorzystania CPU w systemach Solaris .................................................... 42 Monitorowanie wykorzystania CPU w systemach Linux i Solaris za pomoc narzdzi wiersza polece ................................................................................... 45 6 Wydajno Javy Kolejka uruchamiania planisty krótkoterminowego .................................................................. 48 Monitorowanie kolejki uruchamiania planisty krótkoterminowego w systemach Windows .......................................................................................................... 49 Monitorowanie kolejki uruchamiania planisty krótkoterminowego w systemach Solaris .............................................................................................................. 50 Monitorowanie kolejki uruchamiania planisty krótkoterminowego w systemach Linux ................................................................................................................ 51 Wykorzystanie pamici ............................................................................................................... 51 Monitorowanie wykorzystania pamici w systemach Windows ........................................... 52 Monitorowanie wykorzystania pamici w systemach Solaris ............................................... 53 Monitorowanie wykorzystania pamici w systemach Linux ................................................. 54 Monitorowanie rywalizacji o blokady w systemach Solaris .................................................. 55 Monitorowanie rywalizacji o blokady w systemach Linux ................................................... 57 Monitorowanie rywalizacji o blokady w systemach Windows ............................................. 57 Izolowanie gorcych blokad .................................................................................................... 58 Monitorowanie mimowolnego przeczania kontekstu ......................................................... 58 Monitorowanie migracji wtków ............................................................................................ 59 Wykorzystanie we/wy sieci ......................................................................................................... 59 Monitorowanie wykorzystania we/wy sieci w systemach Solaris ......................................... 60 Monitorowanie wykorzystania we/wy sieci w systemach Linux .......................................... 61 Monitorowanie wykorzystania we/wy sieci w systemach Windows .................................... 61 Wzgldy dotyczce poprawy wydajnoci aplikacji ................................................................ 62 Wykorzystanie we/wy dysku ....................................................................................................... 63 Dodatkowe narzdzia wiersza polece ...................................................................................... 65 Monitorowanie wykorzystania CPU w systemach z procesorami SPARC T ........................... 66 Bibliografia ................................................................................................................................... 69 3. Przegld JVM ............................................................................................ 71 Wysokopoziomowa architektura HotSpot VM .......................................................................... 72 HotSpot VM Runtime ................................................................................................................. 73 Opcje wiersza polece ............................................................................................................ 74 Cykl ycia maszyny wirtualnej ............................................................................................... 75 adowanie klas maszyny wirtualnej ....................................................................................... 78 Weryfikacja kodu bajtowego ................................................................................................... 80 Udostpnianie danych klas ..................................................................................................... 81 Interpreter ............................................................................................................................... 82 Obsuga wyjtków ................................................................................................................... 84 Synchronizacja ......................................................................................................................... 84 Zarzdzanie wtkami ............................................................................................................... 85 Zarzdzanie stert C++ .........................................................................................................89 Java Native Interface ............................................................................................................... 90 Obsuga bdów krytycznych VM .......................................................................................... 91 Mechanizmy odzyskiwania pamici HotSpot VM .................................................................... 93 Pokoleniowy mechanizm odzyskiwania pamici ................................................................... 93 Mode pokolenie ...................................................................................................................... 95 Szybka alokacja ........................................................................................................................ 97 Mechanizmy odzyskiwania pamici, czyli osiokowi w oby dano ..................................... 97 Spis treci 7 Szeregowy mechanizm odzyskiwania pamici ...................................................................... 98 Równolegy mechanizm odzyskiwania pamici: przepustowo ma znaczenie! ................. 99 Przewanie-równoczesny mechanizm odzyskiwania pamici: opónienie ma znaczenie! .... 99 Mechanizm odzyskiwania pamici najpierw-kosz: nastpca CMS .................................... 102 Porównanie ............................................................................................................................ 102 Generowanie pracy mechanizmu odzyskiwania pamici .................................................... 103 Perspektywa historyczna ....................................................................................................... 103 Kompilatory JIT HotSpot VM .................................................................................................. 104 Analiza hierarchii klas ........................................................................................................... 105 Polityka kompilacji ................................................................................................................ 106 Deoptymalizacja .................................................................................................................... 107 Kompilator JIT dla aplikacji klienckich ............................................................................... 108 Kompilator JIT dla aplikacji serwerowych .......................................................................... 108 SSA — wykres programowo zaleny .................................................................................... 108 Nadchodzce poprawki ......................................................................................................... 110 Regulacja adaptacyjna HotSpot VM ........................................................................................ 111 Wartoci domylne dla Java 1.4.2 ......................................................................................... 111 Ergonomiczne wartoci domylne dla 5. wersji Javy .......................................................... 111 Zaktualizowane domylne wartoci ergonomiczne dla Java 6 Update 18 .......................... 113 Adaptacyjne ustalanie rozmiaru sterty Java ......................................................................... 115 Nie tylko ergonomia .............................................................................................................. 115 Bibliografia ................................................................................................................................. 116 4. Monitorowanie wydajnoci maszyny wirtualnej Javy ............................. 117 Definicje .................................................................................................................................... 118 Odzyskiwanie pamici .............................................................................................................. 118 Dane istotne dla procesu odzyskiwania pamici ................................................................. 119 Raportowanie danych procesu odzyskiwania pamici ........................................................ 119 Analiza offline danych z procesów odzyskiwania pamici .................................................. 129 Narzdzia graficzne ............................................................................................................... 132 Kompilator JIT .......................................................................................................................... 150 adowanie klas .......................................................................................................................... 151 Monitorowanie aplikacji Java ...................................................................................................153 Szybkie monitorowanie rywalizacji o blokady ..................................................................... 154 Bibliografia ................................................................................................................................. 156 5. Profilowanie aplikacji Java ..................................................................... 157 Terminologia .............................................................................................................................. 159 Terminy zwizane z profilowaniem ..................................................................................... 159 Pojcia zwizane z programem Oracle Solaris Studio Performance Analyzer .................. 159 Pojcia zwizane z programem NetBeans Profiler ............................................................. 160 Oracle Solaris Studio Performance Analyzer .......................................................................... 161 Obsugiwane platformy ......................................................................................................... 161 Pobieranie i instalacja programu Oracle Solaris Studio Performance Analyzer ............... 162 Przechwytywanie profilu Oracle Solaris Studio Performance Analyzer ............................ 163 Przegldanie zebranej próby ................................................................................................ 166 Prezentacja danych ................................................................................................................ 174 8 Wydajno Javy Filtrowanie danych profilu ................................................................................................... 177 Narzdzie wiersza polece er_print ..................................................................................... 178 Program NetBeans Profiler ....................................................................................................... 185 Obsugiwane platformy ......................................................................................................... 186 Pobieranie i instalacja NetBeans Profiler ............................................................................ 186 Rozpoczynanie sesji profilowania metod ............................................................................. 186 Controls, czyli przyciski sterujce ........................................................................................ 193 Status ...................................................................................................................................... 193 Profiling Results, czyli rezultaty profilowania ..................................................................... 193 Saved Snapshots, czyli zapisane zrzuty ekranu ................................................................... 193 View, czyli podgld ............................................................................................................... 194 Basic Telemetry, czyli podstawowa telemetria .................................................................... 194 Przegldanie aktualnych rezultatów ..................................................................................... 195 Wykonywanie zrzutu ekranu rezultatów ............................................................................. 195 Rozpoczynanie sesji profilowania pamici .......................................................................... 196 Przegldanie biecych rezultatów ...................................................................................... 198 Wykonywanie zrzutu ekranu rezultatów ............................................................................. 200 Izolowanie wycieków pamici .............................................................................................. 201 Analiza zrzutów sterty ........................................................................................................... 201 Bibliografia ................................................................................................................................. 202 6. Profilowanie aplikacji Java — porady i sztuczki ...................................... 203 Potencjalne obszary poprawy wydajnoci ................................................................................ 203 Wykorzystanie CPU przez jdro lub system ........................................................................... 204 Rywalizacja o blokady ............................................................................................................... 212 Uycie sowa kluczowego volatile ............................................................................................ 221 Zmiana rozmiaru struktur danych ............................................................................................ 222 Zmiana rozmiaru klas StringBuilder lub StringBuffer ........................................................ 223 Zmiana rozmiaru klas Java Collections ................................................................................ 226 Zwikszanie wspóczynnika równolegoci .............................................................................. 230 Wysokie wykorzystanie CPU .................................................................................................... 232 Inne uyteczne wskazówki dotyczce programu Performance Analyzer .............................. 233 Bibliografia ................................................................................................................................. 235 7. Regulacja JVM krok po kroku ................................................................. 237 Metodologia ............................................................................................................................... 238 Zaoenia ................................................................................................................................ 240 Wymagania dotyczce infrastruktury testowania ................................................................ 240 Wymagania systemowe aplikacji .............................................................................................. 241 Dostpno ............................................................................................................................ 241 Zarzdzalno ........................................................................................................................ 241 Przepustowo ....................................................................................................................... 241 Opónienie i czas reakcji ...................................................................................................... 242 Zuycie pamici ..................................................................................................................... 242 Czas uruchamiania ................................................................................................................ 242 Ranking wymaga systemowych .............................................................................................. 242 Wybór modelu wdroenia JVM ................................................................................................ 243 Model wdroenia pojedynczej instancji JVM ...................................................................... 243
[ Pobierz całość w formacie PDF ]
zanotowane.pldoc.pisz.plpdf.pisz.plmement.xlx.pl
|