Тёмный
No video :(

#14 Что такое Garbage Collector? Ответ на вопрос собеседования C# / .Net 

Andrey Shyrokoriadov
Подписаться 4,3 тыс.
Просмотров 9 тыс.
50% 1

#garbagecollector #gc #сборщикмусора #генерацииобъектов #csharp #dotnet #andriyshyrokoriadov
В видео кратко представлен прицип работы Garbage Collector (сборщик мусора) в среде выполнения .Net.
Обзор представлен в форме ответа на вопрос, который встречается на собеседованиях на позицию "программист C# / .Net".
Подписывайтесь на канал [программирование, путешествия]: / @andreyshyrokoriadov
0:15 - хранение данных в памяти
1:05 - определение Garbage Collector
1:30 - начало работы Garbage Collector
2:00 - работа Garbage Collector только в определенных условиях
2:30 - определение объектов для удаления Garbage Collector 'ом
3:20 - как работает Garbage Collector
3:45 - что такое генерации объектов
4:25 - цель существования генерации объектов
5:05 - программный вызов очистки памяти
Текст к фильму доступен по ссылке:ashyrokoriadov...

Опубликовано:

 

22 авг 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 20   
@nouchance
@nouchance 2 года назад
Thank you! Andrey spasibo
@user-mv4ni7xo9u
@user-mv4ni7xo9u 3 года назад
Очень круто!
@cmdexecutor
@cmdexecutor Год назад
я бы еще отметил что GC триггерится когда либо в системе мало _физической_ памяти, либо когда размер объектов в поколениях достигает определенного порога, который динамически рассчитывается основываясь на тенденции выделений памяти в конкретном приложении иначе можно подумать что в х64 среде с 32гб памяти GC ни разу не вызовется пока приложение не сожрет гигабайт эдак 30 системной памяти
@kl45gp
@kl45gp 2 месяца назад
спасибо
@Neroz49rujka
@Neroz49rujka 2 года назад
Spasibo!
@ivannebyshinets5682
@ivannebyshinets5682 2 года назад
Лойс!
@young-hf7vi
@young-hf7vi Год назад
Мне кажется, что сейчас настолько поверхностные ответы уже не будут валидны на собесах. Я недавно собесился на джуна и вот вопросы про ГЦ: Как сборщик мусора определяет, какие объекты являются недействительными? Как сборщик мусора оптимизирует время сбора мусора? Как сборщик мусора управляет памятью в многопоточных приложениях? Как сборщик мусора обрабатывает циклические ссылки? Как правильно оценить влияние сборщика мусора на производительность приложения?
@AndreyShyrokoriadov
@AndreyShyrokoriadov Год назад
Да, вопросы интересные. Однако в моей компании знание ответов на эти вопросы не имеет никакого практического смысла. То есть можно, например, знать как сборщик мусора обрабатывает циклические ссылки, а как это знание использовать на практике, когда необходимо работать с legacy кодом не понятно. Мертвая теория чтобы "загнуть" кандидата =)
@young-hf7vi
@young-hf7vi Год назад
@@AndreyShyrokoriadov я всё же узнал ответы на эти вопросы и на следующем собеседовании собираюсь немного поумничать. Надеюсь это сыграет положительно :)
@movingCrazy
@movingCrazy Год назад
@@young-hf7vi как успехи, нашел уже работу? Вопросы как для джуна какие-то невменяемые) будто идешь не джуном, а гарбедж коллектором на полставки
@young-hf7vi
@young-hf7vi Год назад
@@movingCrazy да, нашёл, уже полтора месяца работаю, но устроился как мидл разраб(вопросы были в разы проще, чем к джуну)
@user-or8fe2qx9j
@user-or8fe2qx9j 3 года назад
Супер подача!
@AndreyShyrokoriadov
@AndreyShyrokoriadov 3 года назад
Спасибо!
@of_youtube
@of_youtube 3 месяца назад
2:30 неправильно
@bebronuh222
@bebronuh222 3 месяца назад
а как правильно?
@of_youtube
@of_youtube 3 месяца назад
​@@bebronuh222 Автор сказал - объекты на куче, на которые нет ссылки в стеке будут удалены Это не правильный ответ Если у тебя в стеке есть ссылка на объект Person, но нет ссылки на объект Hand, в то время как Hand является частью Person, то объект Hand из кучи не удалится! Более правильная формулировка - gc удаляет все объекты, на которые нет ссылки из стека И на которые нет ссылки из других объектов кучи, на которые ещё есть ссылка из стека (вложенность может быть больше: Person (есть указатель в стеке), Hand (нет указателя в стеке, но это часть Person), Finger (нет указателя в стеке, но это часть Hand, который часть Person)
@araslanrus
@araslanrus 2 месяца назад
Все конечно интересно, но кому это интересно кроме собеседуещего, за годы работы ни разу эта информация не понадобилась, вспоминаешь ее только на собесах
@AndreyShyrokoriadov
@AndreyShyrokoriadov 2 месяца назад
Согласен с Вами на 💯 процентов.
@glu_max
@glu_max Год назад
generation - это же явно "поколение", а не генерация... Объекты, которые дольше находятся в памяти имеют выше поколение.
@spacerecluse
@spacerecluse 5 месяцев назад
все правильно + в 0 поколение попадают только объекты из кучи SOH, а объекты из куч LOH и POH попадают сразу во 2ое поколение. объекты в куче POH могут быть только значимые типы. итд ... упущено несколько деталей / процессов.
Далее
.NET Core Garbage Collection
14:54
Просмотров 23 тыс.
Самая ВАЖНАЯ часть .NET
13:48
Просмотров 181 тыс.