Põhierinevus – käsutamine () vs lõpetamine ()
Põhiline erinevus käsutamise () ja lõpetamise () vahel seisneb selles, et programmeerija peab selgesõnaliselt kutsuma käsutusse () ning enne objekti hävitamist käivitab lõpliku vormistamise () prügikoguja.
Kõrvaldamine () on meetod haldamata ressursside (nt failid, objektil olevad vood) sulgemiseks või vabastamiseks. Lõpetamine on meetod praeguse objekti hallatavate haldamata ressursside puhastamiseks enne objekti hävitamist.
Mis on dispose()?
Üks olulisemaid eeliseid. NET-i raamistik on see, et see pakub automaatset prügikoristust. See vabastab automaatselt nende objektide mälu, mida ei kasutata. Programmeerimiskeeltes, nagu C ja C++, peab programmeerija mäluhaldusega ise hakkama saama. Kuid sellistes keeltes nagu C, mis on üles ehitatud. NET-i raamistikule, pakub prügikogujat. See aitab mälu hallata. Seda ei saa kasutada haldamata mäluressursside vabastamiseks. Selle ülesande täitmiseks saab kasutada kõrvaldamise () meetodit.
Kõrvaldamise () meetodit saab kasutada selliste ressursside vabastamiseks nagu andmebaasiühendused, failitöötlejad jne. Seda meetodit ei kutsuta automaatselt välja. Seetõttu peaks programmeerija seda meetodit rakendama. Niipea, kui see meetod käivitatakse, vabastatakse konkreetse haldamata ressursi mälu. See meetod on deklareeritud liideses IDisposeable.
Mis on lõpetamine ()?
Prügikoguja kutsub lõpetamismeetodit välja ainult siis, kui viidet objektile enam ei kasutata. Seda meetodit kutsutakse vahetult enne objekti hävitamist. Seda meetodit rakendatakse hävitaja abiga. Lõpetamismeetod on määratletud klassis java.lang.object. See meetod on kuulutatud kaitstuks. Seda ei kuulutata avalikuks, et vältida teiste klasside juurdepääsu. Üldiselt võib lõpetamismeetod programmi jõudlust minimeerida, kuna see ei vabasta koheselt mälu.
Milline on kõrvaldamise () ja lõpetamise () sarnasus?
Haldamata ressursi jaoks eraldatud mälu vabastamiseks saab kasutada nii käsutamist () kui ka lõpetamist ()
Mis vahe on kõrvaldamisel () ja lõpetamisel ()?
visake () vs viimistlema () |
|
Kõrvaldamine () on meetod haldamata ressursside (nt failid, objektil hoitavad vood) sulgemiseks või vabastamiseks. | Lõpetamine on meetod praeguse objekti hallatavate haldamata ressursside puhastamiseks enne objekti hävitamist. |
Eesmärk | |
Kustutusmeetodit kasutatakse selle käivitamisel haldamata ressursside vabastamiseks. | Lõpetamismeetodit kasutatakse haldamata ressursside vabastamiseks enne objekti hävitamist. |
Määratud liides või klass | |
Kõrvaldamine () on määratletud liideses IDühekordne liides. | Lõpetamine () on määratletud java.lang.objektiklassis. |
Meetodi kutsumine | |
Programmeerija käivitab käsutusmeetodi. | Prügikorjaja käivitab lõpetamismeetodi. |
Juurdepääsu täpsustaja | |
Kõrvaldamise meetod on avalik. | Lõpetamismeetod on kaitstud. |
Kiirus | |
Kustutusmeetod käivitatakse kohe. | Lõpetamismeetod käivitatakse aeglaselt. |
Performance | |
Kõrvaldamine ei vähenda programmi jõudlust. | Lõpetamismeetod võib programmi jõudlust minimeerida. |
Kokkuvõte – kasutuselt kõrvaldamine () vs lõpetamine ()
Selles artiklis käsitleti utiliseerimis- ja viimistlemismeetodite erinevust C-s. Erinevus käsutuse () ja lõpliku vormistamise () vahel seisneb selles, et programmeerija peab sõnaselgelt kutsuma käsu kõrvaldama () ning enne objekti hävitamist käivitab lõpliku vormistamise () prügikoguja.