Негизги айырмасы – жок кылуу () менен бүтүрүү ()
Dispose () менен жыйынтыктоо () ортосундагы негизги айырма - dispose () программист тарабынан ачык түрдө чакырылат, ал эми жыйынтыктоо () объектти жок кылуудан мурун таштанды жыйноочу тарабынан чакырылат.
Dispose () – бул объект кармаган файлдар, агымдар сыяктуу башкарылбаган ресурстарды жабуу же бошотуу ыкмасы. Аяктоо - бул объект жок кылынганга чейин учурдагы объект тарабынан сакталган башкарылбаган ресурстарда тазалоо операцияларын аткаруу ыкмасы.
dipose() деген эмне?
Эң маанилүү артыкчылыктарынын бири. NET алкагында таштандыларды автоматтык түрдө чогултууну камсыз кылат. Ал автоматтык түрдө колдонулбаган объекттердин эс тутумун бошотот. C жана C++ сыяктуу программалоо тилдеринде программист эстутумду башкарууну өз алдынча чечиши керек. Бирок. NET алкагында курулган C сыяктуу тилдерде таштанды жыйноочу иштейт. Бул эс тутумун башкарууга жардам берет. Аны башкарылбаган эс ресурстарын бошотуу үчүн колдонуу мүмкүн эмес. Бул тапшырманы аткаруу үчүн dispose () ыкмасын колдонсо болот.
Dispose () ыкмасын маалымат базасынын туташуусу, файл иштеткичтери ж.б. сыяктуу ресурстарды чыгаруу үчүн колдонсо болот. Бул ыкма автоматтык түрдө чакырылбайт. Ошондуктан, программист бул ыкманы ишке ашыруу керек. Бул ыкма иштетилгенден кийин, башкарылбаган ресурстун эстутуму бошотулат. Бул ыкма IDisposeable интерфейсинде жарыяланган.
Биротоло () деген эмне?
Бүтүрүү ыкмасын таштанды жыйноочу объектке шилтеме мындан ары колдонулбаганда гана чакырат. Бул ыкма объектти жок кылуунун алдында аталат. Бул ыкма деструктордун жардамы менен ишке ашырылат. Finalize ыкмасы java.lang.object классында аныкталган. Бул ыкма корголгон деп жарыяланды. Башка класстарга кирбөө үчүн жалпыга ачык деп жарыяланган эмес. Жалпысынан, жыйынтыктоо ыкмасы программанын иштешин азайтышы мүмкүн, анткени ал эстутумду заматта бошотпойт.
dipose () жана finalize() ортосунда кандай окшоштук бар?
Dispose () жана finalize() экөө тең башкарылбаган булак үчүн бөлүнгөн эстутумду бошотуу үчүн колдонулушу мүмкүн
dispose () жана finalize() ортосунда кандай айырма бар?
башкаруу () жана бүтүрүү () |
|
Dispose () - бул объект кармаган файлдар, агымдар сыяктуу башкарылбаган ресурстарды жабуу же бошотуу ыкмасы. | Бүтүрүү - бул объект жок кылынганга чейин учурдагы объект тарабынан кармалып турган башкарылбаган ресурстарды тазалоо операцияларын аткаруу ыкмасы. |
Максат | |
Усталдан чыгаруу ыкмасы иштетилбеген ресурстарды бошотуу үчүн колдонулат. | Бүтүрүү ыкмасы объект жок кылынганга чейин башкарылбаган ресурстарды бошотуу үчүн колдонулат. |
Аныкталган интерфейс же класс | |
Dispose () IDisposable интерфейсинде аныкталган. | Бүтүрүү () java.lang.object классында аныкталган. |
Чакыруу ыкмасы | |
Усталдан чыгаруу ыкмасы программист тарабынан колдонулат. | Акырынуу ыкмасын таштанды жыйноочу чакырат. |
Кирүү спецификациясы | |
Таштандыруу ыкмасы жалпыга ачык. | Бүтүрүү ыкмасы корголгон. |
Ылдамдык | |
Тилкеден чыгаруу ыкмасы заматта иштетилет. | Акырынуу ыкмасы акырындык менен иштетилет. |
Аткаруу | |
Тилкеден чыгаруу программанын натыйжалуулугун азайтпайт. | Бүтүрүү ыкмасы программанын майнаптуулугун азайтышы мүмкүн. |
Корытынды – утилдештирүү () жана бүтүрүү ()
Бул макалада C тилинде утилдештирүү жана жыйынтыктоо ыкмаларынын ортосундагы айырма талкууланган. dispose () менен finalize () ортосундагы айырма, dispose () объектти жок кылуудан мурун, ал эми жыйынтыктоочу () таштанды жыйноочу тарабынан чакырылат.