С++ - язык, который изучается постепенно.ГЛАВА 16. Сборка мусора по алгоритму Бейкера
                   Справочники Всё для создания сайта

Ссылки


Home
Бизнес
Справочники
Советы







Материалы книги получены с http://www.itlibitum.ru/

Сборка мусора по алгоритму Бейкера

Наверное, вам хочется знать, зачем нужен алгоритм Бейкера, не правда ли? В предыдущей главе я выдал его за алгоритм уплотнения, но что толку уплотнять память, если для этого приходится жертвовать 50 процентами ее общего объема? Теперь мы узнаем настоящую прелесть алгоритма Бейкера - его применение в архитектурах сборки мусора.

На данный момент мы не будем беспокоиться об объектах, доступных извне, и сосредоточим внимание на периметре стековых переменных.

Поскольку на этот раз мы занимаемся сборкой мусора, нет причин полагаться во всем на подсчет ссылок. Тем не менее, подсчет ссылок продолжает играть важную роль: он применяется для подсчета дескрипторов в стеке, ссылающихся на конкретный ведущий указатель. Ведущий указатель, у которого счетчик ссылок больше 0, непосредственно доступен из стека, а следовательно, входит в периметр. Мы воспользуемся сильными дескрипторами для стековых переменных и слабыми дескрипторами для ссылок из одного объекта на другой через переменные класса. VoidPtr и другие структуры данных из предыдущей главы остаются без изменений, за одним исключением: VoidPtr::Release() не удаляет ведущий указатель при обнулении счетчика. Запомните: нулевой счетчик ссылок означает не то, что объект вообще недоступен, а лишь то, что он недоступен непосредственно из стека.


Назад    Содержание    Далее    

Home  Создание сайтов  Учебник по записи CD  Справочник Web дизайнера Самоучитель IE PHP и MySQL Компьютерные сети С++ E-mail me

Copyright 2006. Климов Александр. All Right Reserved.
Hosted by uCoz