Разлика между Събирач на боклук и Деструктор

Съдържание:

Разлика между Събирач на боклук и Деструктор
Разлика между Събирач на боклук и Деструктор

Видео: Разлика между Събирач на боклук и Деструктор

Видео: Разлика между Събирач на боклук и Деструктор
Видео: Настя и сборник весёлых историй 2024, Може
Anonim

Ключова разлика - Колектор за боклук срещу Деструктор

Повечето езици за програмиране поддържат обектно ориентирано програмиране. Това е методология за изграждане на програма или софтуер, използващ обекти. Обектът се създава с помощта на клас, така че е екземпляр на клас. Класът предоставя описанието на това от какво трябва да се състои обектът. При създаването на обекти за тях се разпределя памет. Разпределената памет трябва да се освободи в края на изпълнението на програмата, за да се използва повторно тази памет за някакъв друг обект. Езиците за програмиране като Java и C #. NET използват събирачи на боклук за управление на паметта, докато езици като C и C ++ изискват програмистът да се справи с управлението на паметта. Необходимото количество памет трябва да бъде разпределено и в края на изпълнението паметта трябва да бъде освободена. Събирачът на боклук и деструкторът се използват за освобождаване на памет. Ключовата разлика между събирача на боклука и деструктора е, че събирачът на боклук е софтуер, който извършва автоматично управление на паметта, докато деструкторът е специален метод, извикан от събирача на боклука по време на унищожаването на обекта.

СЪДЪРЖАНИЕ

1. Общ преглед и ключова разлика

2. Какво е Събирач на боклук

3. Какво е Деструктор

4. Прилики между Събирач на боклук и Деструктор

5. Равно до сравнение - Събирач на боклук срещу Деструктор в таблична форма

6. Резюме

Какво е Колектор за боклук?

Някои програмни езици имат управлявана кодова среда. В езиците за програмиране Java и C # се извършва автоматично управление на паметта. Програмистът не трябва да освобождава паметта, използвана от обектите. За тях е по-лесно да разработват дори сложни системи, защото управлението на паметта се извършва автоматично. В езици за програмиране като C, C ++ и Objective C, програмата трябва да освободи паметта на обектите обратно в системата. Езици като Java и C # могат да разберат обектите, които вече не се използват. След това освобождават паметта, разпределена за тези обекти, обратно в системата.

В езиците за програмиране C # и Java, ако има клас, наречен Student, тогава обект може да бъде създаден с помощта на Student s = new Student (); 'New' се използва за създаване на екземпляр на клас Student. Той разпределя паметта в системата. 'S' се отнася до блока памет, разпределен за този обект. Езиковите среди идентифицират дали обектите се използват или не. Ако те не се използват допълнително, тогава паметта се освобождава и може да се използва по-късно.

Разлика между Събирач на боклук и Деструктор
Разлика между Събирач на боклук и Деструктор

Фигура 01: Събирач и деструктор на боклук

При изпълнение на програма блоковете памет се разпределят от системния пул памет. След това програмата изпълнява задачите, използвайки тази памет. Когато изпълнението на програмата приключи, събирачът на боклук преценява дали разпределените блокове памет за програмата са от съществено значение или не. Ако не са необходими, тези блокове памет се връщат в системата. Така че, събирачът на боклук може да проследява създадените обекти в програмата. Блоковете памет, които вече не са необходими, се изпращат обратно в системния пул памет. Основното предимство на този процес е да се потвърди, че програмистът не трябва да се концентрира върху освобождаването на паметта. Той балансира производителността и използването на паметта.

Какво е деструктор?

Деструкторът е специална член-функция на клас. Той се извиква всеки път, когато обектът излезе извън обхвата. Обектът може да бъде унищожен, когато дадена функция приключи или в края на изпълнението на програмата. Деструкторът има същото име като името на класа. Конструкторът се използва за създаване на обекта. Той може да приема параметри. Конструкторът може да има и върнати стойности. Но в Destructor няма тип връщане или приемане на параметри. Класът може да се състои само от един деструктор. Препоръчва се деструктор, като се използва знакът тилда. Ако името на класа е Student, тогава деструкторът е ~ Student () {}.

Събирачът на боклук търси обектите, които вече не са необходими. Той гарантира, че обектите, които вече не се използват от програмата, трябва да бъдат унищожени. Той призовава деструктора да освободи паметта и да освободи ресурсите. Деструкторите са полезни за освобождаване на памет, затваряне на файлове, освобождаване на мрежови ресурси и за затваряне на връзки с база данни. В повечето езици за програмиране не е необходимо да пишете деструктора, защото събирачът на боклук сам извиква конструктора по подразбиране. Ако програмистът е извършил някакво динамично разпределение на паметта, използвайки указатели на език като C ++, тогава той трябва да напише деструктор, за да освободи паметта, преди обектът да бъде унищожен.

Каква е приликата между Колектор за боклук и Деструктор?

Както Garbage Collector, така и Destructor се използват за освобождаване на памет, която вече не е необходима за програмата

Каква е разликата между Събирач на боклук и Деструктор?

Различна статия Средна преди таблица

Колектор за боклук срещу Деструктор

Колектор за боклук е софтуер, който извършва автоматично управление на паметта. Деструкторът е специален метод, извикан от събирача на боклука по време на унищожаването на обекта.
Тип
Събирачът на боклук е софтуер. Деструкторът е метод.

Резюме - Събирачът на боклук срещу Destructor

Събирачът на боклук и деструкторът са два термина, свързани с освобождаването на паметта. Тази статия обсъжда разликата между Garbage Collector и destructor. Разликата между събирача на боклук и деструктора е, че събирачът на боклук е софтуер, който извършва автоматично управление на паметта, докато деструкторът е специален метод, извикан от събирача на боклука по време на унищожаването на обекта.

Изтеглете PDF файла на Garbage Collector vs Destructor

Можете да изтеглите PDF версията на тази статия и да я използвате за офлайн цели според бележката към цитата. Моля, изтеглете PDF версията тук: Разлика между Събирач на боклук и Деструктор

Препоръчано: