gpt4 book ai didi

java - 为什么我会收到 java.nio.BufferOverflowException

转载 作者:行者123 更新时间:2023-11-29 09:43:09 25 4
gpt4 key购买 nike

我只是为了好玩而尝试创建一个简单的程序,但我收到了 BufferOverflowException:

ByteBuffer byteBuffer = ByteBuffer.allocateDirect(10);
FloatBuffer floatBuffer = byteBuffer.asFloatBuffer();
floatBuffer.put(new float[] {1, 0, 0});

有什么问题吗?

最佳答案

当您使用 ByteBuffer.allocateDirect(10); 时,您要求分配 10 个字节的内存。然后将 3 float 放入该缓冲区。根据 official documentation,每个 float 使用 4 个字节的内存.所以您使用了 12 个字节,因此发生了溢出。

要解决这个问题,只需使用 12 个字节而不是 10 个。

关于java - 为什么我会收到 java.nio.BufferOverflowException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43413668/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com