ГЛАВА 5. Цикл существования объектов

ГЛАВА 5. Цикл существования объектов

В предыдущей главе мы потратили достаточно много времени на то, чтобы научиться строить пользовательские типы класса в C#. В этой главе мы выясним, как среда CLR управляет уже размешенными объектами с помощью процесса, который называется сборкой мусора. Программистам использующим C# не приходится удалять объекты из памяти "вручную" (напомним, что в C# вообще нет ключевого слова delete). Объекты .NET размещаются в области памяти, которая называется управляемой динамической памятью, где эти объекты "в некоторый подходящий момент" будут автоматически уничтожены сборщиком мусора.

Выяснив основные детали процесса сборки мусора, вы узнаете, как взаимодействовать со сборщиком мусора, используя для этого тип класса System.GC, Наконец, мы рассмотрим виртуальный метод System.Object.Finalize() и интерфейс IDisposable, которые можно использовать для того, чтобы создавать типы самостоятельно освобождающие в нужный момент свои внутренние неуправляемые ресурсы. Изучив материал этой главы, вы сможете понять, как среда CLR управляет объектами .NET.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Глава 21. Жизненный цикл идеального ХР-проекта

Из книги Экстремальное программирование автора Бек Кент

Глава 21. Жизненный цикл идеального ХР-проекта Идеальный проект ХР проходит сквозь короткую стадию начальной разработки, за которой следуют годы поддержки эксплуатации системы на производстве и одновременно пересмотра и переделки. Наконец, когда проект теряет


Причины существования невидимого Интернета

Из книги Интернет-разведка [Руководство к действию] автора Ющук Евгений Леонидович

Причины существования невидимого Интернета Невидимый Интернет существует в силу целого ряда причин, как технического, так и организационного характера.Некоторые ресурсы могут быть индексированы поисковыми машинами с технической точки зрения, главное – обнаружить


Глава 6 Редактирование объектов

Из книги AutoCAD 2009 автора Орлов Андрей Александрович

Глава 6 Редактирование объектов Копирование объектовСоздание зеркальной копии объектовСоздание массивовПоворот объектовМасштабирование объектовРазрыв объектаСоздание фаскиРезюмеРедактирование объектов является неизбежной частью работы в системе AutoCAD. На практике


ГЛАВА 17. Сериализация объектов

Из книги Язык программирования С# 2005 и платформа .NET 2.0. [3-е издание] автора Троелсен Эндрю

ГЛАВА 17. Сериализация объектов Из главы 16 вы узнали о функциональных возможностях, предоставленных пространством имея System.IO. Было показано, что это пространство имен содержит множество типов ввода-вывода, которые могут использоваться для чтения и сохранения данные в


Схема лизингового управления циклом существования САО-типов и WKO-синглетов

Из книги AutoCAD 2010 автора Орлов Андрей Александрович

Схема лизингового управления циклом существования САО-типов и WKO-синглетов Вы уже видели, что WKO-типы, сконфигурированные для активизации одиночного вызова, существуют только в процессе текущего вызова метода. Поэтому WKO-типы одиночного вызова являются объектами, не


Цикл существования Web-страницы ASP.NET

Из книги Программирование на языке Ruby [Идеология языка, теория и практика применения] автора Фултон Хэл

Цикл существования Web-страницы ASP.NET Каждая Web-страница ASP.NET имеет свой "жизненный цикл". Когда среда выполнения ASP.NET получает входящий запрос для данного файла *. aspx, в памяти размещается соответствующий тип, производный от System.Web.UI.Page, для создания которого используется


Глава 6 Редактирование объектов

Из книги Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ автора Борри Хелен

Глава 6 Редактирование объектов • Копирование объектов• Создание зеркальной копии объектов• Создание массивов• Поворот объектов• Масштабирование объектов• Разрыв объекта• Создание фаски• РезюмеРедактирование объектов является обязательной частью работы в


ГЛАВА 5 Цикл проекта внедрения SAP

Из книги Цифровой журнал «Компьютерра» № 172 автора Журнал «Компьютерра»

ГЛАВА 5 Цикл проекта внедрения SAP В этой главе мы рассмотрим жизненный цикл проекта внедрения SAP. Во-первых, будут обсуждаться обстоятельства запуска проекта, которые включают цели проекта, стратегию внедрения и определение требований к ресурсам для конкретной компании.


10.1.11. Проверка существования и получение размера файла

Из книги Цифровой журнал «Компьютерра» № 180 автора Журнал «Компьютерра»

10.1.11. Проверка существования и получение размера файла Часто необходимо знать, существует ли файл с данным именем. Это позволяет выяснить метод exist? из модуля FileTest:flag = FileTest::exist?("LochNessMonster")flag = FileTest::exists?("UFO")# exists? является синонимом exist?Понятно, что такой метод не может быть


Продажная любовь как способ существования литературы, искусства и профессионального спорта Василий Щепетнёв

Из книги автора

Продажная любовь как способ существования литературы, искусства и профессионального спорта Василий Щепетнёв Опубликовано 06 мая 2013 Теперь уже бывшая библиотека. Сегодня в ней можно приодеться. А где взять книгу «на почитать?» Весь бульвар


Что делать во имя развития литературы в свете существования пиратов, классиков и духа времени Василий Щепетнёв

Из книги автора

Что делать во имя развития литературы в свете существования пиратов, классиков и духа времени Василий Щепетнёв Опубликовано 07 июля 2013 Предположим – только предположим! – что каждое литературное произведение обладает некой ценностью. Чтобы


2.2.1. Цикл типа “пока” (цикл с предусловием)

Из книги автора

2.2.1. Цикл типа “пока” (цикл с предусловием) Пример 1.4: Нахождение наибольшего общего делителя двух целых положительных чисел с помощью известного алгоритма Евклида.Пока X ? Y делать если X> Y то X:=X-Y иначе Y:=Y-X; Писать (‘НОД=’, X);WHILE X <> Y DO IF X> Y THEN X:=X-Y ELSE Y:=Y-X; WRITE


2.2.2. Цикл типа “до” (цикл с постусловием)

Из книги автора

2.2.2. Цикл типа “до” (цикл с постусловием) Этот цикл выполняется не менее одного разаПример 1.5: Решение предыдущей задачи. Цикл с постусловиемПовторять если X> Y то X:=X-Y иначе Y:=Y-X до X=Y;Писать (‘НОД=’, X);REPEAT IF X> Y THEN X:=X-Y ELSE Y:=Y-X UNTIL X=Y;WRITE (‘НОД=’, X);REPEAT –


2.2.1. Цикл типа “пока” (цикл с предусловием)

Из книги автора

2.2.1. Цикл типа “пока” (цикл с предусловием) Пример 2.4: Программа находит наибольший общий делитель двух целых чисел.#include <assert. h>#include <stdio. h>int main (){int x, y;printf (“Введите два целых числа через пробел ”);int r = scanf (”%d%d”, &x, &y);assert (r == 2);while (x!= y) if (x> y) x = x – y; else y =