← На главную

Библиотека TypedMemory от команды Mamba упрощает работу с памятью в Java

11.05.2026 19:33 · hackernews

Команда Mamba представила библиотечный проект TypedMemory, который значительно упрощает работу с выделенной за пределами стека памятью в Java. Решение основано на API Java Foreign Function & Memory и позволяет отображать типы записей прямо на нативные участки памяти с использованием строго типизированных вьюв. Разработчики решили убрать необходимость вручную раскладывать структуры, вычислять смещения и управлять низкоуровневым доступом, предоставляя при этом полную гибкость для системной интеграции, графикки и программирования данных.

Ядро библиотеки уже поддерживает выделение памяти с использованием Aren, чтение и запись элементов через методы get и set, а также работу с существующими сегментами. Однако проект остаётся экспериментальным и работает только в Java 25 и выше из-за ограничений ClassFile API. Запуск требует включения нативного доступа через флаг --enable-native-access=ALL-UNNAMED или указание конкретного модуля.

Библиотека отлично справляется с графическими пайплайнами, симуляциями и обработкой больших наборов данных. Она позволяет сохранять исходную схему памяти, проверять выравнивание и отлаживать структуру. Поддерживаются массивы фиксированного размера и вложенные структуры, хотя типы унитов пока отсутствуют. Методы fill, init, swap и copy позволяют быстро управлять буферами без потери контроля. Архитектура инструмента строится на записях, которые описывают состояние данных стабильно и лаконично, мостя между Java-кодом и нативной подложкой. Хотя массивы как поля записей всё ещё требуют места на куче, влияние на производительность считается приемлемым для большинства сценариев. Для использования в Maven нужно добавить зависимость io.github.mamba-studio, а код компилируется под релиз 25. Инициаторы проекта уже собирают обратную связь и готовы дорабатывать функционал, если заинтересованные разработчики найдут способы реализовать недостающие сценарии использования.

Читать оригинал →