Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Java teórie a praxe : Garbage Collection v 1.4.1 JVM

Vývojári vytvorili Java s dvoma primárnymi cieľmi v mysli . Po prvé , vytvoriť programovací jazyk postavený výhradne na základe objektovo orientovaného paradigmy . Za druhé , aby sa jazyk Java beží na vrchole Java Virtual Machine ( JVM ) zabezpečiť krížové prenositeľnosť platformy . Vzhľadom k tomu , Java bežal na JVM a nie rozhranie priamo s hardvérom , JVM dokázal mnohé z problémov spojených s objektovo - orientovaného programovania , a to správu pamäte . Proces, ktorého prostredníctvom JVM ovládal pamäť sa nazýva " garbage collection " . Aby sme pochopili , zber , programátor musí pochopiť , objektovo orientované programovanie koncepty , vrátane toho, ako je pamäť podarilo . Objektovo orientované programovanie

objektovo orientované programovanie ( OOP ) predstavuje paradigma programovania , v ktorom programátori vytvárať dátové " objekty " , ako súčasť ich kódu . Programátori používajú tieto objekty predstavujú komplexné dátové typy , ktoré obsahujú ako stáť a vykazujú určité správanie . Tak, napríklad , programátor vytvára " Sphere " triedu pre program , ktorý robí prácu zahŕňajúce výpočet sfér . Trieda Sphere môže obsahovať údaje o okruhu ( jeho stav ) a funkcie pre výpočet vlastný priestor ( jeho správanie ) .
Objekty a pamäť

Obaja Java a C + + je OOP jazyky . Avšak , rozdiel medzi týmito dvoma ukazuje na potrebu zberu odpadkov v Jave . V C + + programátor sa zaoberá priamo s operačným systémom . To znamená , že keď programátor chce vytvoriť objekt , môže to urobiť jednu z dvoch vecí . Po prvé , môžete si vytvoriť " plytké " kópie počas procesu kódovania . Za druhé , a častejšie , môžete si písať kód , ktorý vytvára objekty dynamicky v " hlbokej " pamäti pri spustení kódu cez použitie " ukazovateľov " .
Ukazovatele a úniky pamäte

C + + programu používa odkazy na pridelenie pamäti pri spustení kódu . " Ukazovateľ " obsahuje odkaz na umiestnenie v pamäti . Keď programátor musí vytvoriť kód , ktorý vytvorí objekty za behu , on používa odkazy na referenčné pamäti , aby zrušil pre vytvorenie objektu . Že ukazovateľ je potom jediná vec , ktorá odkazuje na tento objekt . V prípade , že program , presuňte odkaz ukazovateľ priebehu realizácie , objekt " ukázal " už nie je možné použiť . Je to jednoducho sedí v pamäti , sa žiadnym spôsobom sa k nim dostať . Pri veľké množstvo objektov sú vytvorené pomocou ukazovateľov a odišiel do pamäti v dôsledku straty odkaze ukazovatele , toto je známe ako " pretečeniu pamäte " a môže spôsobiť vážne problémy v programe .
Garbage Collection

V C + + , zodpovednosť za správu pamäte a prevenciu únikov pamäti padá priamo na programátora . Jazyk Java , na rozdiel od C + + , beží na JVM , abstrahuje od operačného systému . Z tohto dôvodu, programátor môže ignorovať správu pamäte systému , pokiaľ ide o predmety . Skôr , JVM udržuje prehľad o existujúcich objektov a odkazy , a odstráni tie , ktoré sú už v prevádzke . Týmto spôsobom , úlohu spravovať pamäť padá na JVM , a programátor môže pracovať na rôznych úlohách a zároveň presvedčení , že správa pamäte je postarané .
Garbage Collection a 1.4.1 JVM

verzia JVM 1.4.1 ponúka model pre zber odpadkov . JVM používa vekovej kategórii paradigma , zatiaľ čo " mladí " objektov a " staré " objekty existuje v pamäti . JVM môže podporovať mladé objekty do starých objektov , založených na tom , ako často sú mladí objekty skopírované v priebehu realizácie programu . Staré objekty , potom sú považované za dôležité , a preto nie je označená pre odstránenie . 1.4.1 JVM garbage collection systém používa metódu " vlak " zberného /zmazanie , tým , že zvýšenie malých garbage collection prechádza skôr než väčšie , pomalší zbierok . Tiež 1.4.1 JVM využíva multiprocessing systémov tým , že ponúka súbežný zber odpadkov na viacerých procesoroch .

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené