Большинство языков программирования поддерживают объектно-ориентированное программирование. Это методология для создания программы или программного обеспечения с использованием объектов. Объект создается с использованием класса, поэтому он является экземпляром класса. Класс предоставляет описание того, из чего должен состоять объект. При создании объектов память выделяется для объектов. Выделенная память должна быть освобождена в конце выполнения программы, чтобы повторно использовать эту память для какого-либо другого объекта. Языки программирования, такие как 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: Сборщик мусора и деструктор
При запуске программы блоки памяти выделяются из пула системной памяти. Затем программа выполняет задачи, используя эту память. Когда выполнение программы закончено, сборщик мусора выясняет, важны ли выделенные блоки памяти для программы или нет. Если они не требуются, эти блоки памяти возвращаются в систему. Таким образом, сборщик мусора может отслеживать созданные объекты в программе. Блоки памяти, которые больше не нужны, отправляются обратно в системный пул памяти. Основным преимуществом этого процесса является подтверждение того, что программисту не нужно концентрироваться на освобождении памяти. Он балансирует производительность и использование памяти.
Деструктор - это специальная функция-член класса. Он вызывается всякий раз, когда объект выходит из области видимости. Объект может быть уничтожен, когда функция заканчивается или в конце выполнения программы. Деструктор имеет то же имя, что и имя класса. Конструктор используется для создания объекта. Он может принимать параметры. Конструктор также может иметь возвращаемые значения. Но в Destructor нет типа возврата или принимаемых параметров. Класс может состоять только из одного деструктора. Деструктор упоминается с использованием знака тильды. Если имя класса Student, то деструктор ~ Student () .
Сборщик мусора ищет объекты, которые больше не требуются. Это гарантирует, что объекты, которые больше не используются программой, должны быть уничтожены. Он вызывает деструктор, чтобы освободить память и освободить ресурсы. Деструкторы полезны для освобождения памяти, закрытия файлов, освобождения сетевых ресурсов и закрытия соединений с базой данных. В большинстве языков программирования нет необходимости писать деструктор, потому что сборщик мусора вызывает конструктор по умолчанию самостоятельно. Если программист выполнил какое-либо динамическое выделение памяти с использованием указателей на языке, подобном C ++, он должен написать деструктор, чтобы освободить память до того, как объект будет уничтожен..
Сборщик мусора против Деструктора | |
Сборщик мусора - это программа, которая выполняет автоматическое управление памятью.. | Деструктор - это специальный метод, вызываемый сборщиком мусора при уничтожении объекта.. |
Тип | |
Сборщик мусора - это программное обеспечение. | Деструктор - это метод. |
Сборщик мусора и деструктор - это два термина, связанных с освобождением памяти. В этой статье обсуждалась разница между сборщиком мусора и деструктором. Разница между сборщиком мусора и деструктором заключается в том, что сборщик мусора представляет собой программное обеспечение, которое выполняет автоматическое управление памятью, а деструктор - это специальный метод, вызываемый сборщиком мусора во время уничтожения объекта..
Вы можете скачать PDF-версию этой статьи и использовать ее в автономном режиме согласно примечанию. Пожалуйста, загрузите PDF-версию здесь: Разница между сборщиком мусора и деструктором
1.lyndapodcast. «Как работает сборка мусора в C # | Линда. Учебник. » Как работает сборка мусора в C # | Учебное пособие по Lynda.Com, LinkedIn Learning Solutions, 19 сентября 2011 г. Доступно здесь
2. Деструкторы в Си ». GeeksforGeeks, 27 мая 2017 года. Доступно здесь
3. Джайн, Шубхам. «Сборщик мусора и деструктор в C #.» C # Уголок. Доступна здесь