Ключевое различие - сборщик мусора против деструктора
Большинство языков программирования поддерживают объектно-ориентированное программирование. Это методология построения программы или программного обеспечения с использованием объектов. Объект создается с использованием класса, поэтому он является экземпляром класса. Класс предоставляет описание того, из чего должен состоять объект. При создании объектов для объектов выделяется память. Выделенная память должна быть освобождена в конце выполнения программы, чтобы повторно использовать эту память для какого-либо другого объекта. Такие языки программирования, как 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 (); «Новый» используется для создания экземпляра класса Student. Он выделяет память в системе. 'S' относится к блоку памяти, выделенному для этого объекта. Языковые среды определяют, используются ли объекты или нет. Если они больше не используются, память освобождается и может быть использована позже.
Рисунок 01: Сборщик и деструктор мусора
При запуске программы блоки памяти выделяются из пула системной памяти. Затем программа выполняет задачи, используя эту память. Когда выполнение программы заканчивается, сборщик мусора выясняет, важны ли выделенные для программы блоки памяти. Если они не требуются, эти блоки памяти возвращаются в систему. Итак, сборщик мусора может отслеживать созданные объекты в программе. Блоки памяти, которые больше не требуются, отправляются обратно в пул системной памяти. Основное преимущество этого процесса - убедиться, что программисту не нужно концентрироваться на освобождении памяти. Он уравновешивает производительность и использование памяти.
Что такое деструктор?
Деструктор - это специальная функция-член класса. Он вызывается всякий раз, когда объект выходит за пределы области видимости. Объект может быть уничтожен при завершении функции или в конце выполнения программы. Имя деструктора совпадает с именем класса. Конструктор используется для создания объекта. Он может принимать параметры. Конструктор также может иметь возвращаемые значения. Но в деструкторе нет возвращаемого типа или принимающих параметров. Класс может состоять только из одного деструктора. Деструктор упоминается с помощью знака тильды. Если имя класса Student, то деструктор - ~ Student () {}.
Сборщик мусора ищет объекты, которые больше не нужны. Это гарантирует, что объекты, которые больше не используются программой, должны быть уничтожены. Он вызывает деструктор для освобождения памяти и освобождения ресурсов. Деструкторы полезны для освобождения памяти, закрытия файлов, освобождения сетевых ресурсов и закрытия соединений с базой данных. В большинстве языков программирования нет необходимости писать деструктор, потому что сборщик мусора самостоятельно вызывает конструктор по умолчанию. Если программист выполнил какое-либо динамическое выделение памяти с использованием указателей на таком языке, как C ++, он должен написать деструктор для освобождения памяти до того, как объект будет уничтожен.
В чем сходство между сборщиком мусора и деструктором?
И сборщик мусора, и деструктор используются для освобождения памяти, которая больше не требуется программе
В чем разница между сборщиком мусора и деструктором?
Различать статью в середине перед таблицей
Сборщик мусора против деструктора |
|
Сборщик мусора - это программа, которая выполняет автоматическое управление памятью. | Деструктор - это специальный метод, вызываемый сборщиком мусора во время уничтожения объекта. |
Тип | |
Сборщик мусора - это программа. | Деструктор - это метод. |
Резюме - сборщик мусора против деструктора
Сборщик мусора и деструктор - это два термина, связанных с освобождением памяти. В этой статье обсуждалась разница между сборщиком мусора и деструктором. Разница между сборщиком мусора и деструктором заключается в том, что сборщик мусора - это программное обеспечение, которое выполняет автоматическое управление памятью, а деструктор - это специальный метод, вызываемый сборщиком мусора во время уничтожения объекта.
Загрузите PDF-файл Garbage Collector vs Destructor
Вы можете загрузить PDF-версию этой статьи и использовать ее в автономных целях в соответствии с примечанием к цитированию. Пожалуйста, скачайте PDF-версию здесь: Разница между сборщиком мусора и деструктором