4

たとえば、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");

事前にどうもありがとう、

マーカス

4

1 に答える 1