Dispose () va yakunlash () oʻrtasidagi farq

Mundarija:

Dispose () va yakunlash () oʻrtasidagi farq
Dispose () va yakunlash () oʻrtasidagi farq

Video: Dispose () va yakunlash () oʻrtasidagi farq

Video: Dispose () va yakunlash () oʻrtasidagi farq
Video: Flare System | Components and Functions | Piping Mantra | 2024, Noyabr
Anonim

Asosiy farq – yoʻq qilish () va yakunlash ()

Dispose () va finalize () oʻrtasidagi asosiy farq shundaki, dispose () dasturchi tomonidan aniq chaqirilishi kerak, yakuniylashtirish () esa obʼyektni yoʻq qilishdan oldin axlat yigʻuvchi tomonidan chaqiriladi.

Dispose () ob'ekt tomonidan saqlanadigan fayllar, oqimlar kabi boshqarilmaydigan resurslarni yopish yoki chiqarish usulidir. Yakuniylashtirish - bu ob'ekt yo'q qilinishidan oldin joriy ob'ekt tomonidan ushlab turiladigan boshqarilmaydigan resurslarni tozalash operatsiyalarini bajarish usuli.

dispose() nima?

ning eng muhim afzalliklaridan biri. NET Framework axlatni avtomatik yig'ishni ta'minlaydi. U ishlatilmaydigan ob'ektlar xotirasini avtomatik ravishda chiqaradi. C va C++ kabi dasturlash tillarida dasturchi xotira boshqaruvini o'zi boshqarishi kerak. Lekin C kabi tillarda. NET Framework asosida qurilgan axlat yig'uvchini ta'minlaydi. Bu xotirani boshqarishga yordam beradi. Undan boshqarilmaydigan xotira resurslarini chiqarish uchun foydalanib bo'lmaydi. Bu vazifani bajarish uchun dispose () usulidan foydalanish mumkin.

Dispose () va yakunlash () o'rtasidagi farq
Dispose () va yakunlash () o'rtasidagi farq

Dispose () usuli ma'lumotlar bazasi ulanishlari, fayllarni qayta ishlovchilar va boshqalar kabi resurslarni chiqarish uchun ishlatilishi mumkin. Bu usul avtomatik ravishda chaqirilmaydi. Shuning uchun dasturchi ushbu usulni amalga oshirishi kerak. Ushbu usul ishga tushirilishi bilanoq, boshqarilmaydigan manba uchun xotira chiqariladi. Ushbu usul IDisposeable interfeysida e'lon qilingan.

Yakunlovchi () nima?

Yakunlash usuli faqat ob'ektga havola ishlatilmaganda axlat yig'uvchi tomonidan chaqiriladi. Ushbu usul ob'ektni yo'q qilishdan oldin chaqiriladi. Bu usul destruktor yordamida amalga oshiriladi. Yakuniylashtirish usuli java.lang.object sinfida aniqlanadi. Ushbu usul himoyalangan deb e'lon qilinadi. Boshqa sinflar kirishiga yo'l qo'ymaslik uchun u ommaviy deb e'lon qilinmaydi. Umuman olganda, yakunlash usuli dasturning unumdorligini minimallashtirishi mumkin, chunki u xotirani bir zumda bo'shata olmaydi.

Dispose () va finalize() oʻrtasidagi oʻxshashlik nimada?

Boshqarilmaydigan resurs uchun ajratilgan xotirani boʻshatish uchun dispose () va finalize() funksiyalaridan foydalanish mumkin

Dispose () va finalize() oʻrtasidagi farq nima?

dispose () va yakuniy ()

Dispose () ob'ekt tomonidan saqlanadigan fayllar, oqimlar kabi boshqarilmaydigan resurslarni yopish yoki chiqarish usulidir. Yakunlash - bu ob'ekt yo'q qilinishidan oldin joriy ob'ekt tomonidan ushlab turilgan boshqarilmaydigan resurslarni tozalash operatsiyalarini bajarish usuli.
Maqsad
Utilizatsiya qilish usuli ishga tushirilganda boshqarilmaydigan resurslardan ozod qilish uchun ishlatiladi. Yakunlash usuli ob'ekt yo'q qilinishidan oldin boshqarilmaydigan resurslarni bo'shatish uchun ishlatiladi.
Aniqlangan interfeys yoki sinf
Dispose () IDisposable interfeysida belgilangan. Yakunlash () java.lang.object klassida belgilangan.
Chaqiruv usuli
Dispose usuli dasturchi tomonidan chaqiriladi. Yakunlash usuli axlat yig'uvchi tomonidan chaqiriladi.
Kirish spetsifikatsiyasi
Utilizatsiya qilish usuli hamma uchun ochiq. Yakunlash usuli himoyalangan.
Tezlik
Utilizatsiya qilish usuli bir zumda ishga tushiriladi. Yakunlash usuli asta-sekin ishga tushiriladi.
Umumiylik
Utilizatsiya qilish dastur samaradorligini kamaytirmaydi. Yakunlash usuli dastur unumdorligini kamaytirishi mumkin.

Xulosa – utilizatsiya qilish () va yakunlash ()

Ushbu maqolada C da dispose va finalize usullari oʻrtasidagi farq muhokama qilingan. Dispose () va finalize () o'rtasidagi farq shundaki, dispose () ob'ektni yo'q qilishdan oldin dasturchi tomonidan aniq chaqirilishi kerak, tugatish () esa axlat yig'uvchi tomonidan chaqiriladi.

Tavsiya: