C# Сборщик Мусора | Garbage Collector | Часть 3

Поделиться
HTML-код
  • Опубликовано: 15 июл 2024
  • Это третья часть серии роликов посвященных работе памяти в .NET. В данном видео мы рассмотрим работу Garbage Collector (Сборщик Мусора). Будет интересно :)
    Ссылка на первую часть: • C# Стек и Куча | Stack...
    Ссылка на вторую часть: • C# Стек и Куча | Stack...
    Telegram канал: t.me/codaza
    На кофе ☕️: pay.cloudtips.ru/p/179d0532
    Patreon: / codaza
    Boosty: boosty.to/codaza
    0:00 - Начало
    0:55 - Принцип работы Garbage Collector
    2:20 - Поколения объектов
    4:17 - Алгоритм работы с поколениями объектов
    5:46 - Large Object Heap
    6:26 - Дефрагментация
    7:42 - Граф Объектов
    9:50 - Деструктор
    11:21 - Очередь Финализации
    11:49 - Завершение
    #garbagecollector #сборщикмусора #csharp #сишарп #aspnetcore #netcore

Комментарии • 83

  • @codaza-channel
    @codaza-channel  3 года назад +22

    Удобная навигация по видео :)
    0:00 - Начало
    0:55 - Принцип работы Garbage Collector
    2:20 - Поколения объектов
    4:17 - Алгоритм работы с поколениями объектов
    5:46 - Large Object Heap
    6:26 - Дефрагментация
    7:42 - Граф Объектов
    9:50 - Деструктор
    11:21 - Очередь Финализации
    11:49 - Завершение

    • @user-yo7mw6oj4p
      @user-yo7mw6oj4p 3 года назад +1

      Спасибо за телепорт.

    • @slavaandreev1494
      @slavaandreev1494 Год назад

      Братан, хорош! Давай, давай, вперёд! Контент в кайф, можно ещё? Вообще красавчик

  • @adamm4739
    @adamm4739 2 года назад +57

    Чувак, обязательно продолжай! Невероятно доступный контент, отличная подача!! :)

    • @codaza-channel
      @codaza-channel  2 года назад +4

      Ваш комментарий хорошо мотивирует, благодарю 👍 Впереди много интересного контента 🙂

  • @user-iz3nq2su3r
    @user-iz3nq2su3r 2 года назад +11

    сколько бы не смотрел другие канала или не покупал курсы, никогда не видел такой доступной подачи, пожалуйста продолжай, ты нам очень нужен)

  • @behemoth1621
    @behemoth1621 15 дней назад

    Простосамый крутой канал по C#.Самое понятное объяснение!

  • @sixty_nine_seas
    @sixty_nine_seas 2 года назад +21

    Ваша серия видео - настоящая находка! Структурирование материала и визуал на высоте. Очень благодарен Вам за подобный контент! : )

    • @codaza-channel
      @codaza-channel  2 года назад +1

      Благодарю за комментарий. Очень рад, что материал оказался полезным 🙂 С наступающим! 🎄

  • @user-jj9rb9nu2h
    @user-jj9rb9nu2h 3 года назад +9

    Спасибо! Все просто и доступно, этого очень не хватает)

    • @codaza-channel
      @codaza-channel  3 года назад +1

      Спасибо. Дальше - больше 🙂

  • @shomagasanov8106
    @shomagasanov8106 2 года назад +11

    Почему у такого шикарного канала так мало подписчиков??? новый канал??
    Спасибо огромное за такой классный и доходчивый подход.

    • @codaza-channel
      @codaza-channel  2 года назад +2

      Благодарю за тёплый комментарий. Рад, что подход к объяснению Вам понравился. Благодаря такой аудитории хочется создавать больше. Впереди много интересного :)

  • @user-qc4xb1rj6s
    @user-qc4xb1rj6s Год назад +1

    Просто спасибо.

  • @chinchilla898
    @chinchilla898 3 года назад +3

    codaza, спасибо! 👍

  • @alibek3006
    @alibek3006 2 года назад +3

    Спасибо за видео. На собеседовании был вопрос про память, LOH и дефрагментацию, на который теперь знаю ответ 👍

  • @turalaliyev3977
    @turalaliyev3977 2 года назад +5

    Ты гений. Ты знаешь как правильно подавать материал. Все на высоком уровне! Открое себе Patreon для поддержки канала, открывай стримы с донатом. Подписка и поддержка от меня ! Жду новых видео, особенно про собеседования вопросы интересно, что скажешь.

    • @codaza-channel
      @codaza-channel  2 года назад

      Благодарю за высокую оценку! 🙂
      Недавно на канале активировано "Спонсорство". При желании, можете присоединиться.

  • @yakajibee5289
    @yakajibee5289 Год назад

    Thank you!🙂

  • @glukh0v_d1ma
    @glukh0v_d1ma Год назад

    ТОП!!!!

  • @mrsotnik2411
    @mrsotnik2411 Год назад

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

  • @bestberz3251
    @bestberz3251 6 месяцев назад

    В конце как-то даже грустно стало 😅

  • @sergeymigel4680
    @sergeymigel4680 Год назад

    thank you again

  • @ooohyeahooohyeah
    @ooohyeahooohyeah Год назад

    я 5 лет неправильно кодил... Спасибо за видео"

  • @sergeymigel4680
    @sergeymigel4680 Год назад

    благодарю

  • @apdgslfhsodbna
    @apdgslfhsodbna Год назад +2

    Очень хороший видос, однозначно лай и в сохраненки до востребования быстрого восполнения подзабытых знаний и подготовки к собеседованиям))

  • @boombbiddi7931
    @boombbiddi7931 7 месяцев назад

    ееее красава мужик, отличные видосы

  • @evagor730
    @evagor730 2 года назад +1

    ахаха)) завещание объекта)) спасибо, с ч/ю! хорошо запоминается

  • @Eugene.g
    @Eugene.g 2 года назад +2

    отличный канал. Мое почтение

  • @adiletmyrzabekov6298
    @adiletmyrzabekov6298 2 года назад +2

    Офигенно объяснил , спасибо )

  • @artstar991
    @artstar991 2 года назад +2

    Клевая музычка в роликах. Приятная атмосфера

  • @user-rb5dg6cw3x
    @user-rb5dg6cw3x Год назад +1

    Спасибо!

  • @EminHasanov-nj6un
    @EminHasanov-nj6un Год назад +1

    Как всегда - превосходно!

  • @user-bg2fd1zq9d
    @user-bg2fd1zq9d Год назад +1

    Спасибо за качественный материал, сразу стало все понятно:)

  • @viktorgrinevich882
    @viktorgrinevich882 2 года назад +1

    спасибо!

  • @voffkaboo7183
    @voffkaboo7183 2 года назад +2

    мен, ты крут) продолжай в том же духе)

    • @codaza-channel
      @codaza-channel  2 года назад +1

      Благодарю за поддержку и комментарий. Это важно! :)

  • @user-zi2fh7zp1q
    @user-zi2fh7zp1q Год назад +1

    Спасибо! Это шедевр

  • @user-su7sk3bk1r
    @user-su7sk3bk1r 2 года назад +1

    Cool

  • @kander5415
    @kander5415 Год назад

    Спасибо, благодаря твоему примеру с рубашками собес прошел)

  • @PLoveCode
    @PLoveCode 2 года назад +1

    Серия видео - топ. Очень информативно и наглядно. Для меня как визуала это очень важно. Музыка на фоне приятная. Ее можно сделать потише на процентов 15, чтобы не меньше обращать на нее внимание.

    • @codaza-channel
      @codaza-channel  2 года назад

      Благодарю за комментарий. Рад, что серия видео оказалась полезной для Вас. В новых видео фоновая музыка звучит тише 😊

  • @aarongrimes9276
    @aarongrimes9276 2 года назад +2

    Отлично и очень понятно объяснили, еще бы про IDisposable рассказали было бы хорошо

    • @codaza-channel
      @codaza-channel  2 года назад

      Благодарю за комментарий. Я думаю, обязательно поговорим на канале про IDisposable подробнее. А пока, есть короткое видео на эту тему ruclips.net/video/Xwk7WSMY89I/видео.html

    • @aarongrimes9276
      @aarongrimes9276 2 года назад +2

      @@codaza-channel сегодня успешно прошел собеседование благодаря вашим видео

    • @codaza-channel
      @codaza-channel  2 года назад +1

      @@aarongrimes9276 Я вас поздравляю! Мне очень приятно узнать об этом. Такие комментарии дают понять, что сделанная работа на канале не проходит даром. Уверен, вы тоже проделали большую работу, чтобы получить это место. Ваш комментарий (такого уровня) первый на канале, от этого здорово вдвойне. Успехов в новых начинаниях! 🙂

    • @aarongrimes9276
      @aarongrimes9276 2 года назад +1

      @@codaza-channel спасибо большое, надеюсь ваш канал обретёт успехов и наберёт свою аудиторию

  • @Artem-lk9ru
    @Artem-lk9ru Год назад +1

    Отличный контент и подача. В этом видео было затронуто о том, что на собеседовании могут спросить. Если есть возможность, то могли бы вы записать серию с вопросами на собеседовании?

  • @maxoptions3550
    @maxoptions3550 2 года назад +2

    На 3 минуте 55 секунде, про остановку приложения немного не корректно. Очистка первого поколения происходит когда оно заполняет определенный процент от общей заполненности памяти, если этот процент не занят то его очистка не будет произведена и будет очищатся только нулевое поколение снова и снова, не затрагивая первое поколение. Тоже самое со вторым поколением.

    • @maxoptions3550
      @maxoptions3550 2 года назад +1

      Но видео очень информативное, жирный лайк!

    • @codaza-channel
      @codaza-channel  2 года назад

      Благодарю за важное и полезное уточнение!

  • @limeniye4634
    @limeniye4634 2 года назад +1

    Очень, очень годное видео. Спасибо.

    • @codaza-channel
      @codaza-channel  2 года назад +1

      Рад, что информация была полезной :)

    • @limeniye4634
      @limeniye4634 2 года назад

      @@codaza-channel к сожалению про POH - ничего не понял :(

    • @codaza-channel
      @codaza-channel  2 года назад

      POH - более обширная тема. Это новинка .NET5. Просто выходит за рамки формата ролика :) Не переживайте, это уже более глубокие знания, которые не требуются в повседневной работе.

    • @limeniye4634
      @limeniye4634 2 года назад

      @@codaza-channel :((

  • @Console.WriteLine
    @Console.WriteLine Год назад

    Видео про API

  • @TheVelf
    @TheVelf 2 года назад

    Можно пожалуйста в вашем изложении работа с сетью? вебсокет и разного рода абстракции для соединения и передачи данных, стримы и прочее. Ну и сама работа с сетью, самые часто используемые протоколы, для чего используются. У вас прекрасно получается систематизировать это и в голове проще укладывается от вашего изложения. Заранее спасибо.

  • @dannycyberwalker
    @dannycyberwalker 2 года назад +2

    Классное видео, про CLR в планах?

    • @codaza-channel
      @codaza-channel  2 года назад +1

      Благодарю за комментарий. Я думаю, на канале будем неоднократно затрагивать различные аспекты касающиеся CLR.

  • @firemanhood1526
    @firemanhood1526 2 года назад

    Кодазыч решат) Раз уж ты затронул файналайз, в идеале было бы еще пару минут про диспоуз и почему его нужно использовать, а не файналайз! Спасибо

    • @codaza-channel
      @codaza-channel  2 года назад +1

      На тему Dispose, на канале есть short ruclips.net/video/Xwk7WSMY89I/видео.html 🙂

  • @unknownvisitor2190
    @unknownvisitor2190 7 месяцев назад

    кодаза вернись!(

  • @pispis3617
    @pispis3617 2 года назад +1

    половина джунов, а то и больше, не знают таких подробностей про сборщик мусора и кучи
    Так что если к собесу готовитесь на джуна или интерна. Эти знания помогут вам получить небольшой плюсик по сравнению с другими кандидатами

  • @glu_max
    @glu_max Год назад

    Почему музыка настолько громкая? Перебивает голос, слушать очень трудно...
    А по сути - всё просто и интересно рассказано, благодарю👍

  • @polina-lg4cj
    @polina-lg4cj 7 месяцев назад

    есть текст всего ролика?

  • @grody6301
    @grody6301 2 года назад +1

    Привет, есть видео в текстовом формате? для универа надо)

    • @codaza-channel
      @codaza-channel  2 года назад

      Привет! К сожалению, нет 😞

  • @VladisLove-tg5is
    @VladisLove-tg5is 2 года назад

    Я правильно понимаю, что объекты, которые не переопределяют метод Finalize() => соответственно не имеют деструктора, а значит не попадают в Finalization Queue? Разработчик должен всегда переопределять Finalize, если объект использует неуправляемые ресурсы?

    • @codaza-channel
      @codaza-channel  2 года назад +1

      Да, Вы правильно поняли. Кроме того, в классе, который использует неуправляемые ресурсы, следует реализовать интерфейс IDisposable. Реализация IDisposable необходима для того, чтобы была возможность немедленного освобождения неуправляемых ресурсов сразу после того, как в них нет необходимости. Без этого, освобождение неуправляемых ресурсов будет отложено до удаления объекта из управляемой кучи, а этот момент может настать не сразу.
      На канале codaza есть short посвященный IDisposable: ruclips.net/user/shortsXwk7WSMY89I
      Еще существует паттерн IDisposable, подробнее можно узнать тут: www.c-sharpcorner.com/article/garbage-collection-dispose-vs-finalize-and-idisposable-pattern/

  • @altermrabs8167
    @altermrabs8167 2 года назад

    Про граф обьектов не очень понятно. Жаль нет подробного видео по теме

  • @volodia9509
    @volodia9509 2 года назад

    Какое отношение, объекты из large Object heap имеют к поколению 2 в small Object heap? Разве это не разные типы памяти?

    • @codaza-channel
      @codaza-channel  2 года назад

      Объекты из Large Object Heap просто относятся к поколению #2. Я не совсем понял почему Вы подумали, что объекты из LOH находятся во 2ом поколении в Small Object Heap. Напишите, пожалуйста, тайм-код где вас что-то смутило, я пересмотрю этот фрагмент и попытаюсь ответить подробнее.

    • @volodia9509
      @volodia9509 2 года назад

      @@codaza-channel на 6:05 просто произносится, что большие объекты находятся сразу во втором поколении, а т.к речь до этого шла о SOH, возникло у меня недопонимание, как большие объекты создаются в памяти SOH являясь частью памяти LOH. Но порыв интернеты, вроде как пришёл к выводу, что у LOH поколение на самом деле нет, оно можно сказать условное, просто большие объекты из LOH одновременно очищаются со вторым поколением из SOH. Поправьте пожалуйста, если это не так)

    • @codaza-channel
      @codaza-channel  2 года назад +1

      @@volodia9509 Из вашего комментария очевидно, что Вы поняли все верно :) Никакие объекты из LOH не создаются в SOH. Возможно, мне стоило как-то иначе сформулировать мысль в видео.

    • @volodia9509
      @volodia9509 2 года назад +1

      @@codaza-channel спасибо за ответ)

  • @RedBallOfLove
    @RedBallOfLove 8 месяцев назад

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

  • @nokia_n-gage
    @nokia_n-gage 2 года назад +1

    Спасибо!