我正在尝试制作离堆内存缓冲区。我想要非常大的大小(如10GB)缓冲区。
我听说JVM堆有时会因为完整GC而冻结。因此,我尝试使用java.nio.ByteBuffer来制作缓冲区。
但是,我遇到了很大的困难!
但是这并不起作用。只需再次分配1024*1024*2000的内存即可。
请帮帮我。
但是,我遇到了很大的困难!
java.nio.ByteBuffer.allocateDirect(int size)
函数只支持整数,但我想要更大的尺寸。我该怎么办?请帮助我,Stack Overflow 大神们。
我的开发环境是 MacBook Pro,i7 2.4GHz,16GB DDR3,250SSD,OSX 10.9,Eclipse Kepler x64。
我尝试了一些方法来解决这个问题:
ByteBuffer buffer = ByteBuffer.allocateDirect(1024*1024*2000);
ByteBuffer buffer1 = ByteBuffer.allocateDirect(1024*1024*2000);
ByteBuffer buffer2 = ByteBuffer.allocateDirect(1024*1024*2000);
ByteBuffer buffer3 = ByteBuffer.allocateDirect(1024*1024*2000);
但是这并不起作用。只需再次分配1024*1024*2000的内存即可。
请帮帮我。