たとえば、10 億の要素 (64 ビット システム) を使用して、Java で直接IntBufferを割り当てたいと考えています。私が知っている唯一の方法は、直接 ByteBuffer を作成し、それを直接 IntBuffer として表示することです。ただし、4*1,000,000,000 は Integer.MAX_VALUE を超えているため、私の質問は次のとおりです。どうすれば目標を達成できますか?
int numInts = 1_000_000_000;
IntBuffer i = IntBuffer.allocate(numInts); // works!
ByteBuffer bb = ByteBuffer.allocateDirect(4*numInts); // does NOT work: integer overflow
IntBuffer ib = bb.asIntBuffer();
System.out.println("This will never be printed");
事前にどうもありがとう、
マーカス