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

Čo je Finalizácia v Jave ?

Java používa systém zberu odpadkov pre správu pamäte . Aj keď to má výnimočnú záťaž off vývojárov - on už má zabezpečiť objekty sú odstránené ručne z pamäte , keď sú už v prevádzke - to môže tiež odniesť niektoré funkcie , ktoré vývojári z iných prostredí môžu byť zvyknutí . Zatiaľ čo funkcia finalizácia nie je presne rovnaký ako C + + destructor , to možno považovať za najbližšie k analógovej jazyk Java poskytuje . Rýchly prehľad o Garbage Collection

Garbage Collection je jedným z pokročilejších tém v programovaní v jazyku Java . Presnejšie povedané , môžu vývojári Java ísť celú kariéru , bez toho aby museli vedieť veľa o garbage collector a ako to funguje . V podstate , každý objekt vytvorený v programe Java je registrovaná u Java runtime , spolu s počtom všetkých miestach je tu existujúci odkaz na tento objekt . Ak je objekt už odvolával sa na všetky ostatné predmety , systém označí pre zber a nabudúce garbage collector beží , odstráni tento objekt .
Základné Správa pamäte v C + +

Veci sú rôzne v iných programovacích jazykoch , ako je C + + , napríklad. V C + + vývojár ovláda , keď je objekt odstránený z pamäte , na rozdiel od systému . Toto je známe ako " deterministický správe pamäte , " a to má ako svoje klady a zápory . Primárnej a strane je to , že developer vie presne , keď v kódu objektu je odstránený . Avšak , je to veľmi jednoduché odstrániť objekt , ktorý môže byť ešte v použití inde v kóde .
Deštruktory a dokončiť

V C + + , môžu vývojári pridať destruktor do triedy , čo je metóda , ktorá je volaná vždy , keď je objekt odstránený . To umožňuje vývojárom spustenie kódu , ak je už nepotrebujete objekt, treba odstrániť svoje deti alebo upratať zdroja . V Jave , systém poskytuje metódu dokončiť , ktoré môžu vývojári prepísať poskytovať podobnú funkčnosť . Hlavným rozdielom je , že metóda Finalize je volaná pri každom behu zistí , že objekt nemá žiadne ďalšie odkazy a môžu byť zhromažďované .
Používajte opatrne

Počas finalizácie môže poskytujú podobné funkcie deštruktory C + + ' s , to by naozaj byť používané s opatrnosťou . Všeobecne povedané , pri prepísanie metódy dokončiť môže byť úplne v poriadku pre väčšinu situácií , nemali by ste sa spoliehať na to pre zaistenie zdrojov sú vyčistené v určitom čase . Napríklad , ak máte pripojenie k databáze otvoriť v objekte , ktorý je uzavretý v finalizácie môžete stále potenciálne vytvárať príliš veľa pripojenie k databáze a odovzdať limit databázu pred garbage collector dokončila všetky objekty - aj keď nie už majú odkazy na ne kdekoľvek .

Najnovšie články

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