OberonCore https://forum.oberoncore.ru/ |
|
Сборщик мусора, сравнить с С# https://forum.oberoncore.ru/viewtopic.php?f=2&t=725 |
Страница 1 из 1 |
Автор: | Сергей Губанов [ Среда, 07 Ноябрь, 2007 09:54 ] |
Заголовок сообщения: | Re: Сборщик мусора, сравнить с С# |
1) Деструкторов в C# не существует, то что там ими обзывается есть финализаторы. Метод Dispose в совокупности с using - просто синтаксический сахар. 2) Ранжирование объектов по поколениям эффективно в случае когда есть большое количество долгоживущих (примерно 5'000'000) объектов на фоне которых то и дело создаётся и удаляется некое количество короткоживущих. |
Автор: | Евгений Темиргалеев [ Среда, 07 Ноябрь, 2007 11:17 ] |
Заголовок сообщения: | Re: Сборщик мусора, сравнить с С# |
Temirgal писал(а): Сделано это для того, чтобы можно было удалять ресурсы по своему усмотрению, а не так, как это будет сделано сборщиком В КП тоже есть финализаторы, не стоит забывать. Которые сборщик вызывает перед освобождением памяти, давая им возможность удалить ресурс "по-своему усмотрению".
|
Автор: | Илья Ермаков [ Четверг, 08 Ноябрь, 2007 12:22 ] |
Заголовок сообщения: | Re: Сборщик мусора, сравнить с С# |
По поводу подсчёта ссылок - этот метод не годится для циклически ссылающихся объектов, а они неизбежно возникают. По поводу других сборщиков - в Яве и Шарпе используются разные алгоритмы (поколения, маркирующе-копирующий сборщик в сочетании с поколениями, алгоритм "поезд" - это в Яве). В последних поставках Явы присутсвует до пяти реализаций, из которых надо выбирать под конкретную задачу. В общем случае их параметры несбалансированы (т.е. на некоторых задачах проигрывают обычному Mark&Sweep). Причина, почему в Яве возникли поколения - только динамическое ООП. Каждый мелкий "чих" вроде передачи параметра в обёртке, типизированного сообщения и т.п. - это выделение в куче. Для такого рода мелких объектов и вводится первое поколение, в котором работает маркирующе-копирующий сборщик. В КП/ББ количество мелких короткоживущих объектов мало, и первое поколение особого выигрыша не даст, скорее наоборот. Неплохо про сборщики рассказывалось на http://www.ibm.com/ru/. Поищите. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |