Java, představuje čistě objektově orientovaný programovací jazyk, což znamená, že Java obsahuje výhody objektově orientovaného programování, včetně dědičnosti a polymorfismu. Chcete-li zahrnout tyto výhody musí JVM mít prostor pro uložení instance objektů. Tyto objekty neexistují v bezprostřední paměti a vykonávajícího vlákno kódu v jazyce Java. Spíše Java kód deklaruje "odkazy" na objekty, které skladují místo v hluboké a dlouhodobé paměti.
Heap a Stack
haldy a stack představují rozdíl mezi dlouhým a krátkodobým paměti vykonávající programu, bez ohledu na objektově orientovaný jazyk. Zásobník upozorňuje na bezprostřední proměnné a volání metody uvnitř vykonávající programu. To zahrnuje skalární proměnné, jako jsou celá čísla a bytů, stejně jako tzv. funkce. Haldy, na druhé straně, představuje umístění, kde jsou vytvořené objekty uložené v programu. Objekty jsou přidělovány dynamicky na haldě a zůstat tam, dokud již nebude potřebovat program.
JVM Paměťové
Návrháři
vyvinula JVM systém paměti napodobovat objektově-orientovaný systém dalších jazyků, jako je C + +. Každé provedení závit kódu v jazyce Java v JVM má svůj vlastní zásobník, což představuje jeho místní skalární proměnné a funkce volání. Kromě toho, má vlastní JVM haldy prostor. Pokud program vytvoří odkaz na objekt, tento objekt čerpá z kolektivní paměti haldy prostoru.
Haldy v paměti JVM
haldy prostor je pouze část celková JVM paměť, spolu s stack a jiných přidělení paměti pro hlavní funkce a JVM kód. Nicméně, haldy prostor představuje rozhodující část JVM v tom, že je vozidlo, podle kterého jsou vytvořeny objekty. Také JVM má vestavěný odpadky sběrný program, který chcete odstranit nepoužívané objekty z haldy. Ve starších objektově orientovaných jazycích, objekty musely být odstraněny ručně nebo riskoval spotřebování haldy prostor v čem byl nazýván "nevracení paměti." JVM garbage collector, však sleduje hromadu a odstraní staré objekty.
Copyright © České zdravotnictví Všechna práva vyhrazena