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

  Рет қаралды 23,673

SoftTeco Team

SoftTeco Team

Жыл бұрын

Разбираем 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_team
Instagram SoftTeco Team - / softteco.team
LinkedIn SoftTeco Team - / softteco-team
Telegram комьюнити Третья Cреда Программиста - t.me/sredaprog
VK - softteco_team
FB - / 777107882367039
Telegram комьюнити Третья Cреда Программиста - t.me/sredaprog
Присоединяйся к SoftTeco Team! Мы ждем твое CV по адресу recruiting@softteco.com

Пікірлер: 44
@user-vl6tj7xd8q
@user-vl6tj7xd8q 2 ай бұрын
Парень ты на своём месте. Благодарю за лекцию. Понимать и уметь рассказать это ещё найти нужно.
@mikeivashka
@mikeivashka 2 ай бұрын
Спасибо! Очень приятно слышать!
@antonstezhkin5991
@antonstezhkin5991 Жыл бұрын
Отличная лекция! Отдельный лайк за молитву сборщика мусора
@Softtecoteam
@Softtecoteam Жыл бұрын
Спасибо, мы старались)
@artemzakharov8961
@artemzakharov8961 11 ай бұрын
Неверагодная лекцыя! Паўтарыў увесь матэр'ял)
@MiracleMasterpiece
@MiracleMasterpiece 4 ай бұрын
Спасибо за доклад. Очень интересно и информативно=)
@user-be2ms1ci5i
@user-be2ms1ci5i Жыл бұрын
Ёмко, четко, конкретно и без воды! 👍 Приятно воспринимать хорошую дикцию🔥 Спасибо за информацию!
@Softtecoteam
@Softtecoteam Жыл бұрын
Спасибо! Заходите к нам на канал еще )
@Eliseev_Serge
@Eliseev_Serge Жыл бұрын
Хорошая подача. Спасибо.
@user-pw6xk8iq5u
@user-pw6xk8iq5u Жыл бұрын
Михаил, молодец! Отличная лекция!
@user-gp6yt6ze2t
@user-gp6yt6ze2t 11 ай бұрын
Спасибо за лекцию очень доступно
@PulIoFF
@PulIoFF 6 ай бұрын
Спасибо! Очень понятно объяснил!
@olyalya9651
@olyalya9651 Жыл бұрын
Спасибо!!!
@user-bv3lb1ui6d
@user-bv3lb1ui6d Жыл бұрын
Спасибо!
@andreyprado1346
@andreyprado1346 Жыл бұрын
Миша, спасибо!
@penniwisederry7659
@penniwisederry7659 Жыл бұрын
Круто!
@alexandrchap4628
@alexandrchap4628 Жыл бұрын
Спасибо Михаилу, тот момент когда и не заметил как пролетело время, шикарно объясняешь!
@mikeivashka
@mikeivashka 11 ай бұрын
Спасибо, рад что Вам понравилось!
@dmitriizheleznikov2949
@dmitriizheleznikov2949 4 ай бұрын
Слушайте круто вышло, спасибо
@maximisaev588
@maximisaev588 Жыл бұрын
Супер, побольше бы такого! Давайте теперь о модель java? Про всякие там happens before
@Softtecoteam
@Softtecoteam Жыл бұрын
Возьмем на заметку, спасибо)
@xtenzq
@xtenzq 2 ай бұрын
Классный обзорный доклад на тему GC, даже не смотря, что это выжимка со статей "Дюк, вынеси мусор" с Хабра. Стало как-то проще их читать уже после прослушивания доклада.
@user-rq6dk8vy3d
@user-rq6dk8vy3d 10 ай бұрын
Серия статей с хабра "Дюк,вынеси мусор" в видеоформате) ну спасибо,получается
@ilyaafanasyev9714
@ilyaafanasyev9714 Ай бұрын
Спасибо за доклад! Не понял только почему наличие одного ядра подразумевает однопоточность. ОС легко может переключать треды на одном ядре.
@JeckPot111
@JeckPot111 11 ай бұрын
Важное уточнение: сборщик мусора можно вызвать (грубо говоря попросить), но JVM не гарантирует, что выполнит команду сборки
@struchkovdev
@struchkovdev 8 ай бұрын
Нелья принудительно вызвать сборку мусора. System.gc() не вызывает сборку, а рекомендует JVM ее выполнить, но JVM не обязана это делать. CMS никогда не был сборщиком мусора по умолчанию, насколько мне известно. Использовался Parallel GC. Про G1. Общее количество регионов в куче равно размеру кучи, деленному на размер региона. Например, если размер кучи составляет 4GB, а размер каждого региона - 4MB, то количество регионов будет равно 1000. То есть 2048 JVM не гарантирует. 2048 это скорее рекомендация Java, настроить таким образом, чтобы получилось столько регионов, чтобы G1 работал более эффективно. И не совсем корректно было сказано про большие объекты: под большой объект (объект, размер которого, больше, чем размер региона), выделяется несколько смежных регионов. Про ZGC. "Также ZGC использует такую необычную вещь как барьер." Вроде как все GC используют барьеры.
@user-yc1gx2ug1v
@user-yc1gx2ug1v 11 ай бұрын
хорошая лекция, но жаль не затронут момент почему сюрвайворов 2; у g1 бы поподробнее про вспомогательные структуры (set с объектами, rset) и барьеры
@user-fs1eh4dq4u
@user-fs1eh4dq4u 8 ай бұрын
Появилось ощущение, что это пересказ серии статей на хабре "Дюк, вынеси мусор". Советую почитать сперва ее
@user-xu2br2uf9z
@user-xu2br2uf9z 3 ай бұрын
Сперва восхитился докладчиком, что он с такой сложной темой разобрался сам и нам предоставил систематизированную инфу, потом понял, что это просто пересказ серии статей с Хабра…
@kosiuk843
@kosiuk843 2 ай бұрын
Можете дать айди статьи?
@nickgrigorjev
@nickgrigorjev 2 ай бұрын
​@@kosiuk843серии статей на хабре называются: "Дюк, вынеси мусор!"
@MrNil1982
@MrNil1982 8 ай бұрын
Подскажите пожалуйста. Цитата: "GC начинает анализировать какие объекты действительно являются живыми начиная от root-а и далее...". А что для GC является этим самым root-ом? И еще один вопрос есть - я где-то читал, что если GC работает по принципу подсчета количества ссылок на объекты, то два объекта, которые ссылаются друг на друга не будут GC распознанными как мусор, и таким образом появляется утечка памяти. Вопрос - такое поведение специфично только для каких-то определенных типов GC или это один из способов поиска мусора на равне с "поиск от корня" и каждые, даже старые GC под капотом пользуются и тем и другим способом?
@ilyaafanasyev9714
@ilyaafanasyev9714 Ай бұрын
Рутом является main метод
@CAMOBAP795
@CAMOBAP795 Ай бұрын
@@ilyaafanasyev9714 ня толькі, звычайна туды трапляюць Threads, ClassLoaders, аб'екты з JNI cпаcылкамі на іх, магчыма тое што з'яўляецца root objects залежыць і ад імплементацыі cамога GC
@mrdarkilya
@mrdarkilya 6 ай бұрын
Откуда инфа про то, что ZGC хотели сделать платным? Я вот не могу найти ни одного упоминания этого в гугле, chatgpt тоже не в курсе.
@djbob9757
@djbob9757 11 ай бұрын
А что насчет сборки мусора в контейнерах?
@MrNil1982
@MrNil1982 8 ай бұрын
Простите, не очень понятно что означает на слайде (про G1) 20:39 - После пометки (что имеется в виду "пометки" - стадия Initial mark?), во время проведения малых сборок к ним добавляется несколько регионов старого поколения (поэтому сборка смешанная) до тех пор, пока размер старшего поколения не достигнет "желаемого" (желаемого - чего? желаемого свободного пространства в памяти для старшего поколения?)
@Softtecoteam
@Softtecoteam 8 ай бұрын
Первый вопрос - имеется в виду concurrent marking, второй вопрос - под желаемым имеется в виду доля свободного пространства в старшем поколении(в процентах)
@MrNil1982
@MrNil1982 8 ай бұрын
@@Softtecoteam Спасибо большое!
@user-vd4fm8hf9w
@user-vd4fm8hf9w Жыл бұрын
Дякую.
@Softtecoteam
@Softtecoteam Жыл бұрын
Заходите к нам еще)
@irakondrateva
@irakondrateva Ай бұрын
понял все, кроме ZGC, вот там уже нужно сидеть и читать. а вот так галопом по европам это бесполезно
@user-gv3zn1us6s
@user-gv3zn1us6s 10 ай бұрын
Зачем смотреть на лицо ведущего, а не на экран с информацией по теме? Понимаю ещё при анонсе, т.е. в самом начале...
@oleg20century
@oleg20century 2 ай бұрын
Спасибо!
Alex hid in the closet #shorts
00:14
Mihdens
Рет қаралды 9 МЛН
Mom's Unique Approach to Teaching Kids Hygiene #shorts
00:16
Fabiosa Stories
Рет қаралды 20 МЛН
ТАМАЕВ УНИЧТОЖИЛ CLS ВЕНГАЛБИ! Конфликт с Ахмедом?!
25:37
КАК ДУМАЕТЕ КТО ВЫЙГРАЕТ😂
00:29
МЯТНАЯ ФАНТА
Рет қаралды 9 МЛН
Владимир Иванов - G1 Garbage Collector
1:38:17
JPoint, Joker и JUG ru
Рет қаралды 37 М.
Лекция 14. Что внутри Java?
1:37:51
Computer Science Center
Рет қаралды 17 М.
Раннее и Позднее Связывание
12:44
Volodya Mozhenkov
Рет қаралды 40 М.
Дженерики в Java. Проще чем кажется.
21:36
Игорь Мешалкин
Рет қаралды 15 М.
Alex hid in the closet #shorts
00:14
Mihdens
Рет қаралды 9 МЛН