❗️Linux внутри Java: FFM вместо JNI
❗️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 — заходи в статью. 🔥Ссылка на статью ➡️ Скачать курсы Заметки Бэкендера