სხვაობა განკარგვას () და დასრულებას () შორის

Სარჩევი:

სხვაობა განკარგვას () და დასრულებას () შორის
სხვაობა განკარგვას () და დასრულებას () შორის

ვიდეო: სხვაობა განკარგვას () და დასრულებას () შორის

ვიდეო: სხვაობა განკარგვას () და დასრულებას () შორის
ვიდეო: ანჯელინა ჯოლისა და ბრედ პიტის შვილის, შაილოს, გახმაურებული ისტორია 2024, ივლისი
Anonim

ძირითადი განსხვავება - განკარგვა () vs საბოლოო ()

გაგდებას () და საბოლოოს () შორის მთავარი განსხვავება ისაა, რომ განკარგვა () პირდაპირ უნდა იყოს გამოძახებული პროგრამისტის მიერ, ხოლო საბოლოო () გამოძახება ხდება ნაგვის შემგროვებლის მიერ ობიექტის განადგურებამდე.

განკარგვა () არის უმართავი რესურსების დახურვის ან გათავისუფლების მეთოდი, როგორიცაა ფაილები, ნაკადები, რომლებიც ინახება ობიექტის მიერ. დასრულება არის მეთოდი, რომ შეასრულოს გაწმენდის ოპერაციები უმართავ რესურსებზე, რომლებიც ინახება ამჟამინდელი ობიექტის მიერ ობიექტის განადგურებამდე.

რა არის განკარგვა()?

-ის ერთ-ერთი ყველაზე მნიშვნელოვანი უპირატესობა. NET Framework არის ის, რომ ის უზრუნველყოფს ნაგვის ავტომატურ შეგროვებას. ის ავტომატურად ათავისუფლებს იმ ობიექტების მეხსიერებას, რომლებიც არ გამოიყენება. პროგრამირების ენებში, როგორიცაა C და C++, პროგრამისტმა მეხსიერების მართვა დამოუკიდებლად უნდა მართოს. მაგრამ ისეთ ენებში, როგორიცაა C, რომელიც აგებულია. NET Framework უზრუნველყოფს ნაგვის შემგროვებელს. მეხსიერების მართვაში გვეხმარება. მისი გამოყენება არ შეიძლება უმართავი მეხსიერების რესურსების გასათავისუფლებლად. განკარგვის () მეთოდი შეიძლება გამოყენებულ იქნას ამ ამოცანის მისაღწევად.

განსხვავება განკარგვას () და დასრულებას () შორის
განსხვავება განკარგვას () და დასრულებას () შორის

განკარგვის () მეთოდი შეიძლება გამოყენებულ იქნას ისეთი რესურსების გასათავისუფლებლად, როგორიცაა მონაცემთა ბაზის კავშირები, ფაილების დამმუშავებლები და ა.შ. ამ მეთოდს ავტომატურად არ უწოდებენ. ამიტომ, პროგრამისტმა უნდა განახორციელოს ეს მეთოდი. როგორც კი ეს მეთოდი გამოიძახებს, მეხსიერება იხსნება კონკრეტული უმართავი რესურსისთვის. ეს მეთოდი გამოცხადებულია IDisposeable ინტერფეისში.

რა არის საბოლოო ()?

ფინალიზაციის მეთოდს მხოლოდ ნაგვის შემგროვებელი იძახებს, როცა ობიექტის მითითება შემდგომში არ გამოიყენება. ამ მეთოდს ეწოდება ობიექტის განადგურებამდე. ეს მეთოდი ხორციელდება დესტრუქტორის დახმარებით. საბოლოო მეთოდი განსაზღვრულია java.lang.object კლასში. ეს მეთოდი გამოცხადებულია დაცულად. ის არ არის გამოცხადებული საჯაროდ სხვა კლასების წვდომის თავიდან ასაცილებლად. მთლიანობაში, საბოლოო მეთოდს შეუძლია მინიმუმამდე დაიყვანოს პროგრამის შესრულება, რადგან ის მყისიერად არ ათავისუფლებს მეხსიერებას.

რა მსგავსებაა განკარგვა () და დასრულება() შორის?

ორივე განკარგვა () და finalize() შეიძლება გამოყენებულ იქნას უმართავი რესურსისთვის გამოყოფილი მეხსიერების გასათავისუფლებლად

რა განსხვავებაა განკარგვას () და დასრულებას () შორის?

განკარგვა () vs საბოლოო ()

განკარგვა () არის უმართავი რესურსების დახურვის ან განთავისუფლების მეთოდი, როგორიცაა ფაილები, ნაკადები, რომლებიც ინახება ობიექტის მიერ. დასრულება არის მეთოდი, რომელიც ახორციელებს გაწმენდის ოპერაციებს უმართავ რესურსებზე, რომლებიც ინახება ამჟამინდელი ობიექტის მიერ ობიექტის განადგურებამდე.
მიზანი
განკარგვის მეთოდი გამოიყენება უმართავი რესურსების გასათავისუფლებლად მისი გამოძახებისას. ფინალიზაციის მეთოდი გამოიყენება უმართავი რესურსების გასათავისუფლებლად ობიექტის განადგურებამდე.
განსაზღვრული ინტერფეისი ან კლასი
განკარგვა () განისაზღვრება IDisposable ინტერფეისის ინტერფეისში. დასრულება () განისაზღვრება java.lang.object კლასში.
გამოძახების მეთოდი
განკარგვის მეთოდი გამოძახებულია პროგრამისტის მიერ. საფინალო მეთოდის გამოძახება ხდება ნაგვის შემგროვებლის მიერ.
წვდომის სპეციფიკატორი
განკარგვის მეთოდი საჯაროა. ფინალიზაციის მეთოდი დაცულია.
სიჩქარე
განკარგვის მეთოდი გამოიძახება მყისიერად. დასრულების მეთოდი გამოიძახება ნელა.
შესრულება
განკარგვა არ შეამცირებს პროგრამის შესრულებას. ფინალიზაციის მეთოდმა შესაძლოა შეამციროს პროგრამის შესრულება.

შეჯამება – განკარგვა () vs საბოლოო ()

ეს სტატია განიხილავდა განსხვავებას C-ში განკარგვასა და დასრულებას მეთოდებს შორის. განკარგვა () და საბოლოო () შორის განსხვავება ისაა, რომ განკარგვა () პირდაპირ უნდა იყოს გამოძახებული პროგრამისტის მიერ, ხოლო საბოლოო () გამოძახება ხდება ნაგვის შემგროვებლის მიერ ობიექტის განადგურებამდე.

გირჩევთ: