Java Runtime / Интероперабельность в Java / Как учить системных программистов

Новый гость подкаста «Битовые маски» — Иван Углянский, известный разработчик JVM, член программного комитета Java-конференции SnowOne и один из создателей профиля «Системное программирование» в НГУ. Он соприкоснулся с процессом разработки компиляторов и рантаймов еще в старших классах школы, а после продолжал заниматься этим направлением в компании Excelsior. Елена Лепилкина обсудила с Иваном не только рантаймы, но и интероперабельность, новые Java-проекты Valhalla, Panama и Loom, а также высшее образование в области системного программирования. Что входит в состав рантайма, кроме garbage collector? В чем особенности кода, который пишут рантайм-инженеры, и логов, которые они оставляют? На каких языках можно писать рантаймы? Чем нового и интересного принесут мега-проекты Panama, Loom и Valhalla? В чем проблемы интероперабельности через JNI? Что такое «техника кротов»? Ответы на эти и другие вопросы вы узнаете из двенадцатого эпизода подкаста. · Упомянутая дискуссия про системных программистов:    • Lang NEXT 2014 Panel  Systems Programming ...   · Выпуск с Владимиром Кемпиком:    • Разработка JVM / компиляторы в виртуальных...   ✅ Подписывайтесь на Telegram-канал «Битовых масок»: https://t.me/+pAvCjs9-8qE1OWZi 🔹 Стань частью команды YADRO! https://careers.yadro.com 🎧 Слушать «Битовые маски» на других платформах: Яндекс.Музыка: https://music.yandex.com/album/26508178 Apple Podcasts: https://podcasts.apple.com/ru/podcast... Все площадки: https://engineer.yadro.com/podcasts/c... 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 — Заключение #jvm #runtime #gc #loom #itобразование

DSP Library Development / Low-Level Optimizations / Programming in the 80s–90s
▶︎

DSP Library Development / Low-Level Optimizations / Programming in the 80s–90s

Разработчик компиляторов про новичков в айти, C++, Rust,  Linux. Константин Владимиров
▶︎

Разработчик компиляторов про новичков в айти, C++, Rust, Linux. Константин Владимиров

Никита Липский, Владимир Иванов — JVM: краткий курс общей анатомии
▶︎

Никита Липский, Владимир Иванов — JVM: краткий курс общей анатомии

Multithreading through the eyes of a developer
▶︎

Multithreading through the eyes of a developer

Дизайн языков программирования / Гипервизоры / Будущее системного программирования
▶︎

Дизайн языков программирования / Гипервизоры / Будущее системного программирования

Владимир Плизга — Путеводитель по профилированию приложений на JVM
▶︎

Владимир Плизга — Путеводитель по профилированию приложений на JVM

Andrey Pangin — Java Process Memory, Explained
▶︎

Andrey Pangin — Java Process Memory, Explained

Зачем учить C++ в 2026? Лекция Антона Полухина в Институте iSpring
▶︎

Зачем учить C++ в 2026? Лекция Антона Полухина в Институте iSpring

Революционная ситуация: признаки. Статус S09E42
▶︎

Революционная ситуация: признаки. Статус S09E42

Иван Пономарев — Вариантность типов в Java и Kotlin
▶︎

Иван Пономарев — Вариантность типов в Java и Kotlin

LLVM and GCC / Register Allocation / IT Education in Universities (Part 1)
▶︎

LLVM and GCC / Register Allocation / IT Education in Universities (Part 1)

Сергей Петрелевич: Виртуальные потоки в SpringBoot
▶︎

Сергей Петрелевич: Виртуальные потоки в SpringBoot

BIOS and UEFI / UEFI stages / drivers and protocols
▶︎

BIOS and UEFI / UEFI stages / drivers and protocols

Джедайские техники Максима Дорофеева: продуктивность, созвоны, выгорание и главный миф о времени #86
▶︎

Джедайские техники Максима Дорофеева: продуктивность, созвоны, выгорание и главный миф о времени #86

Мифы о программировании
▶︎

Мифы о программировании

Алексей Шипилёв — Performance Optimization 101
▶︎

Алексей Шипилёв — Performance Optimization 101

Java Live Interview: Senior из Иннотех, ex-Сбер, ЦБ
▶︎

Java Live Interview: Senior из Иннотех, ex-Сбер, ЦБ

RTL Design / Hardware Development Languages ​​/ Verification and Synthesis
▶︎

RTL Design / Hardware Development Languages ​​/ Verification and Synthesis

Как бы я сейчас изучал 1С. Не повторяй мои ошибки!
▶︎

Как бы я сейчас изучал 1С. Не повторяй мои ошибки!

Как собеседует программист с ОПЫТОМ | SHIFU ПОДКАСТ
▶︎

Как собеседует программист с ОПЫТОМ | SHIFU ПОДКАСТ