Главная Случайная страница



Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать неотразимый комплимент Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника







Подписывание сборок





 

RSA – асиметричное шифрование – используется 2 ключа (открытый и закрытый) – шифруются закрытым, а расшифровываются открытым.. Используется во время подписывание. На основании подписи можно сказать какая сборка:

Строгая – имеет подпись правообладатеся

Нестрогая – не имеет

Для подписи используются метаданные

 

Сборка мусора.
Garbage Collector – программа для реструктуризации кучи.
Управляемая куча – область памяти с древовидной структурой, управляемая CLR.
Ревизор – часть CLR, управляющая кучей.
Созданный объект загружается в память, отдельно под методы и отдельно под данные. Для следующего такого же объекта память выделяется лишь под данные.
При удалении объектов память из-под методов высвобождается только при удалении всех объектов данного типа.
После создания объекта он помещается в структуру, которая называется графом достижимости.
Порог дефрагментации – момент времени, в который не получается разместить в памяти объект определенного размера.
Сборщик мусора включается либо потому, что:
1. Не хватает пространства
2. Производится оптимизация времени работы
3. Производится уплотнение памяти

Граф достижимости.
Базируется на понятии корней, где корень – экземпляр рабочего объекта. Построение графа достижимости не работает в режиме отладки
Алгоритм:
1. Отводится память под объекты, формируется управляющая структура
2. Формируется нулевое кольцо объектов (объекты первого поколения)
3. На основе нулевого кольца объектов формируется первый граф достижимости
4. Запускается на выполнение рабочий код, после чего СМ засыпает
5. СМ запускается, начиная сравнивать таблицу объектов с графом достижимости
6. СМ сравнивает спецификаторы порогов, выбирая момент для запуска дефрагментации
7. После проверки при запуске СМ происходит следующее:
7.1. См видит помеченный объект
7.2. Ищет его адрес в таблице объектов
7.3. Находит начало объекта в памяти
7.4. Ищет объект в графе достижимости
7.5. Удаляет объект из графа
7.6. Удаляет принадлежащее объекту поддерево
7.7. После удаления объекта в памяти появляется дырка, которую нужно заполнить
7.8. Производится проверка состояния систем, порогов дефрагментации
7.9. Запускается (либо нет) дефрагментации
В C деструктор запускается после выхода из блока кода, в C# может либо запуститься, либо нет, потому вместо деструкторов лучше использовать finalize.



 

 

Механизм поколений

Картинка

Всего их 3: 0,1,2.

Допущения garbage collector:

 Объекты с 0 поколением живут меньше всех.

 Объекты со 2м поколением живут максимально долго.

 Все объекты очень компактны.

Для каждого поколения сборщик мусора выбирает пределы памяти (пороги заполнения памяти).

0 –L0 (256 Кб)

1 –L1 (2 Мб)

3 – L2 (10 Мб)

()- по дефолту

При превышении лимита какого-то конкретого поколения он будет проверять только объекты

этого поколения.

Если после удаления размер объектов стал меньше порога, то все ок, дефрагментируем кучу. Если

же нет, то увеличиваем лимит в 2 раза.

Что-то про еще одну куяу.

Завершение

Заполнение в поколение 0 (удаление после нового покаоления)

Переаполнение или удаление объектов 2го поколения.

Если ты в 1мо, то полпадаегь в специальную область и потом ждет.

Завершение работы

Выгрузка домена

Удаление различных типов обхектов

Не инализированные

Кратинка

ARK212

Память помечается как пустая (очиска диска)

Финадиизированные

Помещаются в еще 1 список (список завершения)

Это отдельная структура. Которая содержит ссылки на обхъекты и содержит объектв

необходимиы для завершения.

Freachable – структура похажая на кучу, но не подчиняющая сборщику. Выкидывает финальне из

списка заверщения и помеаю тих сюда.

Финализируемые оъеты удаляются за 2 захода.

Ошибки метода finalize:

Вызвать метод родителя.

Выпадения эксепшена

Воскрешение объетов

TreadPool

 








Date: 2015-05-22; view: 236; Нарушение авторских прав



mydocx.ru - 2015-2021 year. (0.018 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию