内存是由jvm限制的C代码在JNA(或JNI)中分配的(参数-Xmx或体系结构32/64)
题
也就是说,在 C 部分请求 5 mb 的 malloc() 是否会因以下原因而失败:
- jvm 使用 -Xmx32m 运行,jvm 堆已经是 30 mb
- 与 64 位 Windows 中的 32 位 jvm 有关
解决方案
第一条的答案是“否” - Xmx 指的是 Java 堆,任何本机分配都是完全独立的。
第二个问题的答案是“是”——本机分配受到操作系统和/或硬件固有的一般进程分配限制。
不隶属于 StackOverflow