Java 22 + Project Panama
想在 JVM 里面跑 AI 却不想搞什么 REST API sidecar 这种笨重的架构,这事儿确实挺折磨人的。之前看大家都在折腾各种封装好的 API,但对于追求极致低延迟的场景,这种跨进程通信的开销真的不小。内存零分配: 在热点路径上实现了 zero-allocation。Prompt 和 Token 的内存段都是在 confined Arenas 里一次性分配好的,避免了频繁的堆内存抖动。
直接操作指针: 绕过了传统的 primitive array cloning,直接把 raw pointers 丢给底层的 C 代码,这种实操感就像是在写 C++。
结构体映射: 他手动映射了 llama.cpp 和 whisper.cpp 的 native structures,甚至连编译器的 padding 都对齐了,确保内存访问是安全的。
下一篇
把 Discord 搬进像素游戏地图是什么体验? →
最近刷到一个挺硬核的项目 libargus,作者直接用了 Java 22 的 Project Panama (Foreign Function & Memory API) 去对接 llama.cpp。这思路很直接:既然想要性能,那就别绕弯子,直接通过 FFM API 在 JVM 层面对接 C 层的 ABI。
我研究了一下他的实现逻辑,这哥们儿对内存管理确实有点东西:
最让我觉得有意思的是,他做这个不是为了炫技,而是为了他那个叫 L-TABB 的时空记忆层(想取代现在的 RAG 方案)。如果底层推理引擎不够快,上层的复杂工作流根本跑不起来。
如果你也对 Project Panama 或者低延迟系统感兴趣,可以直接看他的代码实现,这比看文档直观多了:
https://libargus.cc对于这种直接在 JVM 里调底层 C 库的操作,我个人觉得未来会是很多高性能 AI Agent 的标配,毕竟谁也不想让 Agent 每次思考都先去走一遍网络请求。