Podlodka Podcast

Podlodka #74 – Управление памятью


Listen Later

Работа программиста немыслима без взаимодействия с памятью. Мы с легкостью создаем переменные и манипулируем ссылками на различные объекты в куче. И далеко не всегда задумываемся о том, какие задачи приходится решать разработчикам языков и рантаймов, чтобы выделение и освобождение памяти происходило быстро и эффективно. Чтобы разобраться в теме, мы позвали в гости Алексея Шипилёва из Red Hat, который уже более 10 лет занимается вопросами производительности Java. В настоящее время Алексей разрабатывает реализацию сборщика мусора в OpenJDK, и с темой менеджмента памяти он знаком не понаслышке.
Выпуск получился достаточно хардкорным и крайне насыщенным. А еще мы разрушили миф о том, что ARC не имеет никакого отношения к GC.
Поддержи лучший подкаст про мобильную разработку:
www.patreon.com/podlodka
Также ждем вас, ваши лайки, репосты и комменты в мессенджерах и соцсетях!
Telegram-чат: https://t.me/podlodka
Telegram-канал: https://t.me/podlodkanews
Страница в Facebook: www.facebook.com/podlodkacast/
Twitter-аккаунт: https://twitter.com/PodlodkaPodcast
Содержание:
- 00:00:38 - Знакомство с гостем
- 00:02:19 - Что такое память в программировании
- 00:06:28 - Про computer science
- 00:07:17 - Управление сложностью процессов
- 00:09:54 - Высокоуровневые языки программирования
- 00:13:44 - Про ассемблер и пузырьковую сортировку
- 00:16:49 - Ручной менеджмент памяти
- 00:25:36 - Слабая гипотеза о поколениях
- 00:29:26 - Автоматический менеджмент памяти
- 00:32:09 - Reference counting
- 00:39:37 - Reference counting и циклические ссылки
- 00:48:00 - Трассирующие сборщики мусора
- 01:00:46 - Concurrent-коллекторы
- 01:06:26 - Как создатели языков выбирают менеджер памяти?
- 01:11:17 - Как выбрать GC
- 01:17:45 - Как правильно программировать, зная свой GC
- 01:22:32 - LRU-кэш и GC
- 01:27:59 - Про производительность и бизнес-логику
- 01:33:05 - Будни разработчика GC
- 01:41:35 - Как стать разработчиком GC
- 01:47:44 - Подведение черты
- 01:48:41 - Вопрос почти Стасу
Полезные ссылки:
- Talks:
https://shipilev.net/#shenandoah
- The Garbage Collection Handbook:
http://gchandbook.org/
- Shenandoah GC:
https://wiki.openjdk.java.net/display/shenandoah/Main
- ZGC:
http://openjdk.java.net/jeps/333
- Epsilon GC:
http://openjdk.java.net/jeps/318
- “JVM Anatomy Park: TLAB Allocation”:
https://shipilev.net/jvm-anatomy-park/4-tlab-allocation/
- “JVM Anatomy Park: GC Design And Pauses”
https://shipilev.net/jvm-anatomy-park/3-gc-design-and-pauses/
- “JVM Anatomy Park: Moving GC And Locality”
https://shipilev.net/jvm-anatomy-park/11-moving-gc-locality/
- “Логика неизбежности”:
https://lex-kravetski.livejournal.com/301063.html
- “Dismissing Python Garbage Collection”
https://instagram-engineering.com/dismissing-python-garbage-collection-at-instagram-4dca40b29172
- Swift: “App crash with memory corruption on property set”
https://bugs.swift.org/browse/SR-8101
https://twitter.com/virlof/status/1011303236395941890
...more
View all episodesView all episodes
Download on the App Store

Podlodka PodcastBy Егор Толстой, Стас Цыганов, Екатерина Петрова и Евгений Кателла

  • 4.4
  • 4.4
  • 4.4
  • 4.4
  • 4.4

4.4

45 ratings


More shows like Podlodka Podcast

View all
BeardyCast: гаджеты и медиакультура by 🧢 Kepka Production

BeardyCast: гаджеты и медиакультура

122 Listeners

Отвратительные мужики by Disgusting Men

Отвратительные мужики

77 Listeners

Не занесли by Максим Иванов, Павел Пивоваров, Артемий Леонов

Не занесли

57 Listeners

Завтракаст (Zavtracast) by Завтракаст (Zavtracast)

Завтракаст (Zavtracast)

121 Listeners

Что случилось by Медуза / Meduza

Что случилось

361 Listeners

КритМышь by Александр Головин

КритМышь

42 Listeners

kuji podcast by kuji podcast

kuji podcast

131 Listeners

Пробоина by Proboina

Пробоина

1 Listeners

Запуск завтра by libo/libo

Запуск завтра

89 Listeners

Экономика на слух by РЭШ

Экономика на слух

10 Listeners

План Б by Т—Ж

План Б

17 Listeners

Почему мы еще живы by libo/libo

Почему мы еще живы

116 Listeners

Прием by Т—Ж

Прием

6 Listeners

Горящий бензовоз by Вадим Елистратов, Иван Талачев

Горящий бензовоз

31 Listeners

Бреслав и Ложечкин by Александр Ложечкин, Андрей Бреслав

Бреслав и Ложечкин

5 Listeners

На каком основании by libo/libo

На каком основании

21 Listeners