Java Runtime / Интероперабельность в Java / Как учить системных программистов
Description
Что входит в состав рантайма, кроме garbage collector? В чем особенности кода, который пишут рантайм-инженеры, и логов, которые они оставляют? На каких языках можно писать рантаймы? Чем нового и интересного принесут мега-проекты Panama, Loom и Valhalla? В чем проблемы интероперабельности через JNI? Что такое «техника кротов»? Ответы на эти и другие вопросы вы узнаете из двенадцатого эпизода подкаста.
Видеоверсия выпуска: https://youtu.be/kABHXttUOb4
00:00 — Тизер
01:01 — Представление Ивана Углянского
01:58 — Начало карьеры Ивана
10:14 — Excelsior JET
13:28 — Как соблюсти спецификацию Java в AOT-компиляторе
17:21 — GraalVM
20:00 — Производительность AOT и JIT, как конкурировать с HotSpot
25:40 — Что входит в состав Runtime
27:30 — Как работает Java-профилировщик
32:36 — Баги в Runtime и как их дебажить
41:46 — Какие типы Garbage Collector'ов существуют
44:54 — Консервативные и точные GC: можно ли прикрутить GC к С++?
49:31 — Ситуация, где консервативный GC плох в Java
51:41 — Еще один интересный баг, или Как напугать клиента
56:45 — На каких языках можно писать рантаймы
1:04:45 — Интероперабельность в Java, механизм JNI и существующие проблемы
1:16:10 — Мегапроект Panama и интероперабельность с C++
1:22:29 — Был ли у Java период застоя? Проблема с Java 9
1:28:32 — Обратная совместимость Java: плюсы и минусы
1:31:28 — Существующие проблемы с системой типов, проект Valhalla
1:37:14 — Проект Loom и как реализованы виртуальные потоки в Java
1:49:17 — Проектная модель Java
1:53:19 — Кто такой системный программист?
2:00:17 — Как появился профиль «Системное программирование» в НГУ
2:04:42 — Чему и как учат на «Системном программировании»
2:08:54 — А нужно ли много системных программистов
2:13:21 — Взаимодействие с вузом и организационная работа
2:19:52 — Зачем курс по Python на профиле «Системное программирование»
2:22:09 — Что хочется улучшить
2:27:31 — Заключение
✅ Подписывайтесь на Telegram-канал «Битовых масок»: https://t.me/+bx50QfUlw4pkZDEy