Разбираем Garbage Collector в Java. Михаил Ивашко | SoftTeco Meetup

แชร์
ฝัง
  • เผยแพร่เมื่อ 4 ต.ค. 2024
  • Разбираем Garbage Collector в Java
    На митапе от Backend-отдела SoftTeco мы обсудили основные принципы сборки мусора в программировании и критерии выбора Garbage Collector для вашего приложения 🔥
    Как изменились сборщики за последние 25 лет? Проследим за эволюцией 😉
    👨🏻‍💻 Спикер - Михаил Ивашко, Java Developer SoftTeco
    #GarbageCollector #Backend #Java #SoftTecoTeam #softtecoteam
    ТАЙМКОДЫ
    0:47 Что будем разбирать на митапе
    1:04 Что такое мусор?
    2:12 Языки с ручным управлением памятью
    2:50 Garbage Collector - современное решение
    6:37 Эволюция сборщиков в JAVA
    8:05 Epsilon GG
    9:17 Serial GC
    12:41 Parallel GC
    14:11 CMS GC
    17:25 Garbage First GC
    21:49 ZGC
    29:07 Shenandoah GC
    33:15 Есть ли разделение сборщиков для малых и больших объектов?
    -------------------------
    Заходи в наши соцсети!
    Telegram SoftTeco Team - t.me/softteco_...
    Instagram SoftTeco Team - / softteco.team
    LinkedIn SoftTeco Team - / softteco-team
    Telegram комьюнити Третья Cреда Программиста - t.me/sredaprog
    VK - softtec...
    FB - / 777107882367039
    Telegram комьюнити Третья Cреда Программиста - t.me/sredaprog
    Присоединяйся к SoftTeco Team! Мы ждем твое CV по адресу recruiting@softteco.com

ความคิดเห็น • 43

  • @ЛюдмилаИвашкевич-г5о
    @ЛюдмилаИвашкевич-г5о 5 หลายเดือนก่อน +6

    Парень ты на своём месте. Благодарю за лекцию. Понимать и уметь рассказать это ещё найти нужно.

    • @mikeivashka
      @mikeivashka 4 หลายเดือนก่อน

      Спасибо! Очень приятно слышать!

  • @antonstezhkin5991
    @antonstezhkin5991 ปีที่แล้ว +24

    Отличная лекция! Отдельный лайк за молитву сборщика мусора

    • @Softtecoteam
      @Softtecoteam  ปีที่แล้ว

      Спасибо, мы старались)

  • @Натали-ы8з5н
    @Натали-ы8з5н ปีที่แล้ว +16

    Ёмко, четко, конкретно и без воды! 👍
    Приятно воспринимать хорошую дикцию🔥
    Спасибо за информацию!

    • @Softtecoteam
      @Softtecoteam  ปีที่แล้ว +1

      Спасибо! Заходите к нам на канал еще )

  • @maximisaev588
    @maximisaev588 ปีที่แล้ว +6

    Супер, побольше бы такого! Давайте теперь о модель java? Про всякие там happens before

    • @Softtecoteam
      @Softtecoteam  ปีที่แล้ว +4

      Возьмем на заметку, спасибо)

  • @alexandrchap4628
    @alexandrchap4628 ปีที่แล้ว +2

    Спасибо Михаилу, тот момент когда и не заметил как пролетело время, шикарно объясняешь!

    • @mikeivashka
      @mikeivashka ปีที่แล้ว

      Спасибо, рад что Вам понравилось!

  • @artemzakharov8961
    @artemzakharov8961 ปีที่แล้ว +3

    Неверагодная лекцыя! Паўтарыў увесь матэр'ял)

  • @MiracleMasterpiece
    @MiracleMasterpiece 7 หลายเดือนก่อน +2

    Спасибо за доклад. Очень интересно и информативно=)

  • @СтаниславРодионов-к9ы
    @СтаниславРодионов-к9ы ปีที่แล้ว +3

    Михаил, молодец! Отличная лекция!

  • @ДевятыйДан
    @ДевятыйДан ปีที่แล้ว +2

    Серия статей с хабра "Дюк,вынеси мусор" в видеоформате)
    ну спасибо,получается

  • @ДенисКрылов-л3х
    @ДенисКрылов-л3х ปีที่แล้ว +1

    Спасибо за лекцию очень доступно

  • @Eliseev_Serge
    @Eliseev_Serge ปีที่แล้ว +2

    Хорошая подача. Спасибо.

  • @dmitriizheleznikov2949
    @dmitriizheleznikov2949 7 หลายเดือนก่อน +2

    Слушайте круто вышло, спасибо

  • @JeckPot111
    @JeckPot111 ปีที่แล้ว +6

    Важное уточнение: сборщик мусора можно вызвать (грубо говоря попросить), но JVM не гарантирует, что выполнит команду сборки

  • @andreyprado1346
    @andreyprado1346 ปีที่แล้ว +3

    Миша, спасибо!

  • @ПавелК-ю9э
    @ПавелК-ю9э ปีที่แล้ว +2

    Спасибо!

  • @PulIoFF
    @PulIoFF 9 หลายเดือนก่อน

    Спасибо! Очень понятно объяснил!

  • @xtenzq
    @xtenzq 5 หลายเดือนก่อน

    Классный обзорный доклад на тему GC, даже не смотря, что это выжимка со статей "Дюк, вынеси мусор" с Хабра. Стало как-то проще их читать уже после прослушивания доклада.

  • @penniwisederry7659
    @penniwisederry7659 ปีที่แล้ว +2

    Круто!

  • @struchkovdev
    @struchkovdev 11 หลายเดือนก่อน +2

    Нелья принудительно вызвать сборку мусора. System.gc() не вызывает сборку, а рекомендует JVM ее выполнить, но JVM не обязана это делать.
    CMS никогда не был сборщиком мусора по умолчанию, насколько мне известно. Использовался Parallel GC.
    Про G1. Общее количество регионов в куче равно размеру кучи, деленному на размер региона. Например, если размер кучи составляет 4GB, а размер каждого региона - 4MB, то количество регионов будет равно 1000. То есть 2048 JVM не гарантирует. 2048 это скорее рекомендация Java, настроить таким образом, чтобы получилось столько регионов, чтобы G1 работал более эффективно. И не совсем корректно было сказано про большие объекты: под большой объект (объект, размер которого, больше, чем размер региона), выделяется несколько смежных регионов.
    Про ZGC. "Также ZGC использует такую необычную вещь как барьер." Вроде как все GC используют барьеры.

  • @ilyaafanasyev9714
    @ilyaafanasyev9714 3 หลายเดือนก่อน +1

    Спасибо за доклад! Не понял только почему наличие одного ядра подразумевает однопоточность. ОС легко может переключать треды на одном ядре.

  • @КириллКириллов-п2в
    @КириллКириллов-п2в 5 หลายเดือนก่อน +2

    Сперва восхитился докладчиком, что он с такой сложной темой разобрался сам и нам предоставил систематизированную инфу, потом понял, что это просто пересказ серии статей с Хабра…

    • @kosiuk843
      @kosiuk843 4 หลายเดือนก่อน

      Можете дать айди статьи?

    • @nickgrigorjev
      @nickgrigorjev 4 หลายเดือนก่อน

      ​@@kosiuk843серии статей на хабре называются: "Дюк, вынеси мусор!"

  • @КириллКириллов-в7д
    @КириллКириллов-в7д 10 หลายเดือนก่อน

    Появилось ощущение, что это пересказ серии статей на хабре "Дюк, вынеси мусор". Советую почитать сперва ее

  • @СергейСоловьев-т7в2у
    @СергейСоловьев-т7в2у ปีที่แล้ว

    хорошая лекция, но жаль не затронут момент почему сюрвайворов 2; у g1 бы поподробнее про вспомогательные структуры (set с объектами, rset) и барьеры

  • @СерегаШаповал-т2у
    @СерегаШаповал-т2у ปีที่แล้ว +6

    Дякую.

    • @Softtecoteam
      @Softtecoteam  ปีที่แล้ว +2

      Заходите к нам еще)

  • @mrdarkilya
    @mrdarkilya 8 หลายเดือนก่อน

    Откуда инфа про то, что ZGC хотели сделать платным? Я вот не могу найти ни одного упоминания этого в гугле, chatgpt тоже не в курсе.

  • @djbob9757
    @djbob9757 ปีที่แล้ว

    А что насчет сборки мусора в контейнерах?

  • @vitalyglushchenko8112
    @vitalyglushchenko8112 หลายเดือนก่อน

    Фамилия Трахтенберг никак не сочетается с ПРом )

  • @leodev87
    @leodev87 11 วันที่ผ่านมา

    Вызов GC не гарантирует его исполнение

  • @rumisbadforyou9670
    @rumisbadforyou9670 หลายเดือนก่อน

    > "Ручное управление в памятью как в Rust."
    Года идут, а люди всё ничего кроме того доклада прожённого плюсовика, который наврал с три короба, не слышали.
    Таким ходом мысли в джаве тогда тоже ручное упровление памятью. Чтобы очистить память от мусора, нужно выключить сервер с джавой на борту.
    > "Сложно найти утечку памяти в GC языке."
    Мдам, прям синьор-помидор докладывает. Я могу тебе хоть тысячу примеров с утечкой памяти привести. GC нужен не для избежания утечек памяти, а других ошибок с работой памяти. Утечки могут очень долго копиться и ты даже не заметишь.

    • @vb7038
      @vb7038 13 วันที่ผ่านมา

      Я думаю что это проблема любого не англоязычного сегмента интернета связанного с программированием. Кривые переводы идущие с 90х годов создали новую альтернативную реальность

    • @peremysh
      @peremysh 2 วันที่ผ่านมา

      по второму пункту - я так понял, что речь и шла про сложность поиска(сложность самой детекции) утечки, а не то что их мало

  • @Ren-z5m3t
    @Ren-z5m3t ปีที่แล้ว

    Зачем смотреть на лицо ведущего, а не на экран с информацией по теме? Понимаю ещё в анонсе, но в процессе зачем? Красивые и выразительные лица только отвлекают.
    Но очень развёрнуто и грамотно. Спасибо!

  • @irakondrateva
    @irakondrateva 3 หลายเดือนก่อน

    понял все, кроме ZGC, вот там уже нужно сидеть и читать. а вот так галопом по европам это бесполезно

  • @olyalya9651
    @olyalya9651 ปีที่แล้ว +2

    Спасибо!!!

  • @oleg20century
    @oleg20century 4 หลายเดือนก่อน +1

    Спасибо!