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