Работа программиста немыслима без взаимодействия с памятью. Мы с легкостью создаем переменные и манипулируем ссылками на различные объекты в куче. И далеко не всегда задумываемся о том, какие задачи приходится решать разработчикам языков и рантаймов, чтобы выделение и освобождение памяти происходило быстро и эффективно. Чтобы разобраться в теме, мы позвали в гости Алексея Шипилёва из 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
No persons identified in this episode.
This episode hasn't been transcribed yet
Help us prioritize this episode for transcription by upvoting it.
Popular episodes get transcribed faster
Other recent transcribed episodes
Transcribed and ready to explore now
Before the Crisis: How You and Your Relatives Can Prepare for Financial Caregiving
06 Dec 2025
Motley Fool Money
OpenAI's Code Red, Sacks vs New York Times, New Poverty Line?
06 Dec 2025
All-In with Chamath, Jason, Sacks & Friedberg
OpenAI's Code Red, Sacks vs New York Times, New Poverty Line?
06 Dec 2025
All-In with Chamath, Jason, Sacks & Friedberg
Anthropic Finds AI Answers with Interviewer
05 Dec 2025
The Daily AI Show
#2423 - John Cena
05 Dec 2025
The Joe Rogan Experience
Warehouse to wellness: Bob Mauch on modern pharmaceutical distribution
05 Dec 2025
McKinsey on Healthcare