Pull to refresh

Comments 14

зачем нужен

всё же лучше быть аккуратнее с подобными "популистскими" фразами в заголовках, а то так можно и до статьи "C# - зачем он нужен" дойти со временем :)

Хорошо, спасибо! Учту!

Эта статья направлена на подготовку к собеседованиям, тобиж все максимально структурированно конкретно для этого)

Когда я интересовался у гпт тонкостями работы сборщика, он мне такую глубину глубин расписал, что было ну очень интересно. Там под капотом куча серьезных алгоритмов и стратегий, просто вершина инженерной мысли. А это, какая-то, попса?... Прошу прощения.

Возьму к сведению!

Простыми словами, поколения нужны для оптимизации, что бы каждый раз не перебирать всю кучу и не тратить на это все ресурсы.

Это не совсем верно. Для определения недостижимых объектов куча всё равно "перебирается" вся целиком, т.к. осуществляется построение и обход графа всех объектов независимо от поколений.

А вот последующие этапы сборки мусора (освобождение памяти, дефрагментация) уже оптимизируются за счёт механизм поколений т.к. выполняются не на всей куче, а на поколении.

Очень сомнительная поправка про "всю кучу", в большинстве случаев ГЦ сканит конкретно одно поколение + области памяти в которых могут быть ссылки на первое поколение (это когда write barrier оставляет в записи в card table каждый раз когда вы любой объект присваиваете в поле другого на хипе) + руты где бы они не были

Да, вы правы, как-то вылетел из головы у меня механизм card table.

хм, спасибо за информацию!

Однажды была проблема, подключил нативную библиотеку и установил значение внутри нее через c#, так GC просто очищал значения которые я устанавливал, ошибку понял не сразу пришлось звать коллегу который шарит за ++

по идее для этого и нужен POH

Стек (Stack)
Куча (Heap)
Поколения (Generations)

Как же сильно бросаются в глаза подобные моменты. Настолько наглой и очевидной копипасты из нейронки я ещё не видел.

Эта статья направлена на подготовку к собеседованиям, тобиж все максимально структурированно конкретно для этого)

Sign up to leave a comment.

Articles