Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

FEL Komunikátor. Memory Leak program konsumuje operační paměť, kterou neumožňuje uvolnit o uvolnění paměti stará Garbage Collector ▫plně v režii Java.

Podobné prezentace


Prezentace na téma: "FEL Komunikátor. Memory Leak program konsumuje operační paměť, kterou neumožňuje uvolnit o uvolnění paměti stará Garbage Collector ▫plně v režii Java."— Transkript prezentace:

1 FEL Komunikátor

2 Memory Leak program konsumuje operační paměť, kterou neumožňuje uvolnit o uvolnění paměti stará Garbage Collector ▫plně v režii Java Virtual Machine ▫odstraňuje neplatné objekty

3 Garbage Collector Základ paměťového modelu ▫zásobník (stack) ▫halda (heap) Vytvořený objekt je alokován v Heap ▫new Object(); - na haldě vznikne nový objekt Vytvořená proměnná je alokována na Stack ▫Object o; - na zásobníku vznikne prázdný záznam, na který odkazuje proměnná o

4 Garbage Collector II Object o = new Object(); ▫proměnná o, která odkazuje na záznam v zásobníku ▫voláním konstruktoru vznikne objekt na haldě ▫operátor = zajistí, že do záznamu na zásobníku se dostane paměťový odkaz na objekt alokovaný na haldě

5 Garbage Collector III Živý objekt ▫záznam ze zásobníku odkazuje na objekt ležící na haldě Mrtvý objekt ▫Na objekt ležící na haldě se nevstahuje žádný záznam ze zásobníku GC maže pouze mrtvé objekty

6 FEL Komunikátor Zaregistrovány malé paměťové úniky ▫Nesouvisí s kódem (proměnnými) ▫Rekurzivní volání ▫Tvorba vláken

7 Příklad Memory Leaku public class RodnaCisla{ private static Map cisla = new HashMap(); public String getRC(Integer id){ String rc = cisla.get(id); if(rc == null) { rc =...//získej číslo např. z DB cisla.put(id, rc); } return rc; } na zásobníku statická proměnná cisla – vznikne při zavedení třídy RodnaCisla ClassLoaderem každým požadavkem na vrácení rodného čísla – se tohle číslo mimo jiné uloží do mapy – vznikají živé objekty


Stáhnout ppt "FEL Komunikátor. Memory Leak program konsumuje operační paměť, kterou neumožňuje uvolnit o uvolnění paměti stará Garbage Collector ▫plně v režii Java."

Podobné prezentace


Reklamy Google