内存是由jvm限制的C代码在JNA(或JNI)中分配的(参数-Xmx或体系结构32/64)

StackOverflow https://stackoverflow.com/questions/2518170

  •  22-09-2019
  •  | 
  •  

也就是说,在 C 部分请求 5 mb 的 malloc() 是否会因以下原因而失败:

  • jvm 使用 -Xmx32m 运行,jvm 堆已经是 30 mb
  • 与 64 位 Windows 中的 32 位 jvm 有关
有帮助吗?

解决方案

第一条的答案是“否” - Xmx 指的是 Java 堆,任何本机分配都是完全独立的。

第二个问题的答案是“是”——本机分配受到操作系统和/或硬件固有的一般进程分配限制。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top