Cheatography
https://cheatography.com
This is a cheat sheet for a course about appliaction performance management.
This is a draft cheat sheet. It is a work in progress and is not finished yet.
Root Set
Lokale Variablen auf den Call-Stacks |
Globale/Statische Variablen |
Prozessorregister |
JNI-Referenzen |
Mark & Compact
ist ein OG only Algo. Defragmentiert die Tenured Gen. |
Inkrementeller GC (OG only)
Räumt inkrementell nur einenn Teil der Old Generation auf. |
Aufwändig, da zusätzlicher Verwaltungsaufwand betrieben werden muss. |
Hat kürzere Pausen als Mark & Compact, aber auch einen merklich geringeren Durchsatz. |
|
|
Verwaltungsdaten
Bruttogrösse (Nutz- & Verwaltungsdaten)) |
Pointer auf Klassenobjekt |
GC-Flag |
(weitere) |
Mark-Sweep-Compact Algo.
Marking Phase (parallel) |
Jede Referenz im Rootset wird durch einen eigenn Thread bearbeitet. Markieren ist atomar. OG ist in grosse Regionen aufgeteilt, in denen über die Grösse und Adressen der lebenden Obj. Buch geführt wird. |
Summary Phase (seriell) |
Regionen werden bez. Dichte untersucht. OG Heap wird von link nach rechts gefüllt. Genügend dichte Regionen werden nicht defragmentiert. Beim Defragmentieren können die Metainformationen zur Dichte verwendet werden, um die Verdichtung zu simplifizieren. Deswegen gibt man für die Ziel Regionen einfach noch an, von welchen Quell Regionen, dass sie gefüllt werden. |
Compaction Phase (parallel) |
bei der Compaction werden die Regionen, welche keine Synchronisationsprobleme verursachen, an GC-Threads aufgeteilt und kompaktiert. Erst dann kommen die Restlichen. |
|
|
Statische Heapstruktur
Space |
Generation |
Beschreibung |
Eden |
Y |
Für neue Objekte. Objekte zählen zum Root Set |
S1 |
Y |
Obj. mit Midlife Crisis |
S2 |
Y |
Obj. mit Midlife Crisis |
Tenured |
O |
OGs |
Glossar
Wort/Abk. |
Erklärung |
TLAB |
Thread Local Allocation Buffer. Grösserer Bereich, in den nur ein Thread hineinkopieren darf. |
|