java 堆 space 当 space 实际可用时

java heap space when space is actually available

我正在尝试在 AMQ (5.15.2) 上发送 BytesMessage,但我 运行 出现堆 space 异常,即使内存明显可用。这里是

byte[] contcentBuilder = new Byte[1000*1000*1];
Array.fill(contentBuilder, (byte) 1);
BytesMessage message = session.createBytesMessage();
for(int i=0;i<150;i++){
    message.writeBytes(contentBuilder);
}
contentBuilder=null;
producer.send(message); //here it gets the heap space memory error
Runtime.getRunTime().freeMemory(); //this is in debug

在错误中,可用内存超过 15Gb(我为该 VM 分配了 16Gb)。

欢迎任何想法,谢谢。

编辑:我基本上是愚蠢的,问题出在 AMQ 方面,增加它在 bin/win64/wrapper.conf 中的内存就解决了这个问题。感谢所有回答的人。

新来的不知道怎么关闭这个回答!

还是我,问题出在 AMQ 方面,增加它在 bin/win64/wrapper.conf 中的内存就解决了这个问题。感谢所有回答的人。