Содержание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 — Вопрос почти Стасу
Полезные ссылки1. Talks:
https://shipilev.net/#shenandoah 2. The Garbage Collection Handbook:
http://gchandbook.org/ 3. Shenandoah GC:
https://wiki.openjdk.java.net/display/shenandoah/Main 4. ZGC:
http://openjdk.java.net/jeps/333 5. Epsilon GC:
http://openjdk.java.net/jeps/318 6. "JVM Anatomy Park: TLAB Allocation":
https://shipilev.net/jvm-anatomy-park/4-tlab-allocation/ 7. "JVM Anatomy Park: GC Design And Pauses"
https://shipilev.net/jvm-anatomy-park/3-gc-design-and-pauses/ 8. "JVM Anatomy Park: Moving GC And Locality"
https://shipilev.net/jvm-anatomy-park/11-moving-gc-locality/ 9. "Логика неизбежности":
https://lex-kravetski.livejournal.com/301063.html 10. "Dismissing Python Garbage Collection"
https://instagram-engineering.com/dismissing-python-garbage-collection-at-instagram-4dca40b29172 11. Swift: "App crash with memory corruption on property set"
https://bugs.swift.org/browse/SR-8101https://twitter.com/virlof/status/1011303236395941890