TGViewer
Заметки Бэкендера Заметки Бэкендера @backend_it · 18.8K subscribers
Post #5092 420
❗️Linux внутри Java: FFM вместо JNI

Обычно Java запускают внутри Linux, а тут автор вывернул всё наизнанку: загрузил полноценное ядро Linux прямо из Java-приложения, без JNI и QEMU.

Проблема: JNI требует C-прослойку, а FFM вроде бы даёт вызывать native-код прямо из Java — но есть подвох. Автор наткнулся на EINVAL при вызове KVM_GET_API_VERSION и через strace выяснил, что FunctionDescriptor должен описывать ABI целиком, а не только «значимые» аргументы: variadic ioctl ждёт третий параметр, и KVM ругается, если он не ноль.


Если тебе любопытно, как устроена виртуализация под капотом и зачем в Java 25 завезли FFM — заходи в статью.

🔥Ссылка на статью

Заметки Бэкендера & Max
More from @backend_it
  1. Oct 15, 2026❗️Самописный DNSSEC-валидатор на Go Пришлось ли тебе когда-нибудь внедрять DNSSEC с нуля?…
  2. Oct 14, 2026❗️Курс Многопоточность и параллелизм в Java: освоить передовые технологии Java для облачны…
  3. Oct 14, 2026Как платить за границей и за зарубежные сервисы в 2026 году? Можно переплачивать посредник…
  4. Oct 14, 2026❗️Java: ручное разбиение задач обогнало parallel().collect() Процедурная генерация игровых…
  5. Oct 14, 2026❗️Leetcode: решаем задачу через backtracking Автор делится личным опытом решения задачи Le…
  6. Oct 13, 2026❗️Kubernetes как ядро Linux: дистрибутивы и пакетный менеджер Kubernetes становится всё сл…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →