Создание сборщика мусора | С

Автор Lyubov Stishevskaya
Создание сборщика мусора | С

Nokia запись начинаю всё поехали.

Здравствуйте и сегодня мы напишем сборщик мусора или GK ноты начало, что — это такое вообще во-первых — это что-то реально — это один из десяти слов 15 проектов где я буду пытаться писать какие-то программы или части программы для практики программирования размером от 200 до 5000 + кодовыми об этом просили молд для практики. Что написать и тому подобное. Сегодня мы напишем.

Как раз-таки GK и чтобы понять идею GK гарбич коллектор сборщика мусора и так далее как хотите нужно понять изначально.

Зачем он вообще нужен подметально концепции формирования и использования памяти чтение запись выделения и так далее языках который постоянно устраивают похороны на. Храбрых ягодицах. То есть если плюс приходится выделять и освобождать память самому об этом свои плюсы так и минусы скажем если уметь пользоваться 1000в меняем — это можно. Здорово выигрывать в производительности неэффективности программы, а именно производительности потому, что за фиктивность отвечают алгоритмы. А за производительность структуры данных с помощью этих структур данных вы пользуетесь этой самой памятью твоей стало интересно, что ещё сказать кратко объяснил эффективность алгоритма и производительности данные — это разные вещи с каждым для выполнения какой-то операции могут подойти несколько алгоритмов дальше сортировка поиск компрессия и так далее могут выполняться всеми способами то есть задачу 1 способов выполнения несколько какой-то из них будет эффективнее другого соответственно. В чём заключается идея самоэффективности производительность — это то как быстро выполняется каждый из этих даже самые эффективные. Скажи mp3sort быстрее. Бублика В общих задачах Note как быстро тот же как всегда будет сортировать. Также можно оптимизировать работу я как раз таки с данными в этом и заключается суть производительности возвращаемся обратно к повторюсь если уметь пользоваться выделением и освобождением allocation и locations оригинал убиваться значительного роста производительности, но делать. Это умеет не все много кто не хочет ковыряться с байками и битами и так далее когда их языки вроде питона Sharp и тому подобное или какой-нибудь Sharp производительностью 8 + +. Валтор если в шоке. Это если собственная частота Java выигрывает всё просплю в конкретных случаях если грамотно настроить силы орали dvm само собой только для приложений опять же если тот же к которой мы сейчас будем писать работает с правильно выбранной стратегии. Ну и тому подобное все плюсы фонтане быстрый и неоднократно. Сабы спрашивали почему я трачу деньги на себя работает быстрее чем носить плюс с каким-нибудь мыс визитки плюсы поехал туда же с включенными стандартными организаторами могут проигрыватель Sharp & dohme. Но если уметь пользоваться теплицей грамотно работать с памятью то есть локатор отсутствие других классов. Полонский и так далее си плюс плюс будут убегать далеко вперёд но. Да ладно — это тема совершенно другого ролика сейчас будем создавать сборщик мусора, а он выделяет отвечает память за нас в этом основная задача водитель память попользовались и идём дальше по проводнику. А как очистить память в которой моего дяди ранее и можно будет такого объяснения. Покажи должно быть достаточно подробности будут позже кто. Как именно он освобождает память — это стратегия как например. Стратегии буферизации в графике двойная тройная буферизация. Это как рендерить в экран тоже самое освобождение ранее использованный памяти тоже происходит по ряду стратегии. Но — это пока не важно главное понять суть того, что мы собираемся писать. Какая создает иллюзию для программистов, что память которым пользуется и не удаляя объекты бесконечно или этот похожа стой. Что лежит в основе виртуальной памяти операционной системы. Смысл в том, что каждый процесс думает, что имеет доступ ко всей оперативки в системе. Ну да ладно почему. Горбач или мусор. Ну потому, что буквально — это объекты которые больше не используются в приложении и просто захламляют память поэтому их. Удалите тем самым обсудить этот вопрос который сейчас к месту — это наверное не просто решить какие объекты. Удалите Какие пока оставить и. Да — это одна из основных проблем нынешних BK. И вот именно. Сама иди спать или просто говоря диспетчер время на таймере решает, что удалить. А, что нет, что конечно же нагружается заметает этот самый runtime как следует чтобы объект можно было удалить как я должен убедиться, что этот объект. Больше никак не будет для этого есть одна из нескольких стратегия которая называется reference Counting или счетчик ссылок. Смысл в том чтобы считать ссылки на объекты и если она не может получить ссылку на тот или иной объект, а соответственно его лечить или удалять затем. Неважно какая там такие выбранная есть ещё игра объектов как часть слова в котором есть все объекты которые есть в программе в принципе — это которых можно дотянуться скажем через другие об рекурсивно через области видимости и так далее. Любой объект. До которого 90 нельзя удаляет всё вроде как просто возвращаюсь к ней простому вопросы или тому как выбрать ту или иную стратегию поиска удаление объектов которые уже не используются эти стратегии много в принципе reference Counting сериал цветы так далее и из них которые являются самый простой и самый первый — это как раз таки Mark sweep придумал. Рейчел который придумал лист и реализовано следующим образом обходишь весь. Граф из объектов начиная с круто и как-то поменяешь каждый который находится в этом графе пометку можно сделать обычную мантру или просто единичкой дали как только ведь. Граф обработан если все объекты которые не пахнут и как True I collect решили проще говоря удаляешь алгоритм крайне я уверен, что 9 и 10. Кто смотрит сейчас этот ролик придумали бы плюс-минус тоже самое если бы посидели и подумали этот алгоритм. Это что-то вроде пузырьковой сортировки в мире сортировок. О'кей мы пишем сборщик мусора. О'кей ночи имена объекту он будет удалять не в рамках этого видео писать ещё и полноценным.

0 комментариев
0

Читайте также