- Siêu lớp và danh mục iOS/Objective-C
- object-c - -1001 lỗi khi NSURLSession vượt qua httpproxy và /etc/hosts
- java - Nhận địa chỉ url bằng lớp mạng
- ios - Âm thanh không phát trong thông báo đẩy
我正在使用 :
读取整数文件int len = (int)(new File(file).length());
FileInputStream fis = new FileInputStream(file);
byte buf[] = new byte[len];
fis.read(buf);
IntBuffer up = ByteBuffer.wrap(buf).order(ByteOrder.LITTLE_ENDIAN).asIntBuffer();
但是,它会在内存中创建两个文件副本,1) 字节数组副本 2) IntBuffer 副本。
是否可以以这种方式使用代码,从而在内存中只创建一个副本?
câu trả lời hay nhất
我看过的 Oracle 的 javadoc 和实现表明您所说的是不正确的。 javadocs 说:
public static ByteBuffer wrap(byte[] array)
Wraps a byte array into a buffer.
The new buffer will be backed by the given byte array; that is, modifications to the buffer will cause the array to be modified and vice versa.
代码显示传递到ByteBuffer.wrap
củamảng
被简单地分配为Bộ đệm byte
的内部数组。 ByteBuffer.asIntBuffer
方法简单地展示了使用 Bộ đệm byte
của bộ đệm nội bộ
的创建。
关于Java - IntBuffer 包装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11438982/
谷歌没有找到答案,所以我来问 static float vertices_textures[] = { //vertices //positions
我正在使用 : 读取整数文件 int len = (int)(new File(file).length()); FileInputStream fis = new FileInputStream(f
Tôi muốn phân bổ IntBuffer trực tiếp trong Java, giả sử 1 tỷ phần tử (hệ thống 64 bit). Cách duy nhất tôi biết là tạo ByteBuffer trực tiếp và coi nó như một IntBuffer trực tiếp. Tuy nhiên, 4*1,0
所以我有一大堆我必须处理的整数(大约 70Mb)。作为阅读过程的一部分,我需要暂时存储它们。我可以将它们分布在多个 IntBuffer 上,或者分配几个大数组。 但是,我找不到任何关于 IntBuff
每当我运行以下代码时,java 在释放 IntBuffer 时都会返回 EXCEPTION_ACCESS_VIOLATION: public int[] size(){ IntBuffer s
我在 IntBuffer 中有图像的 RGB 数据,并希望通过绘画将其显示在 JPanel 上。最有效的方法是什么? 编辑 目前我通过以下代码将数据绘制到 BufferedImage 上,但想知道是否
abstract class IntBuffer 似乎无论如何都无法创建此类的实例,因为它声明为抽象,但同时,还有一个静态工厂方法IntBuffer allocate(intcapacity) 现在您
正如标题所说,它想要创建一个由特定(已经存在的)IntBuffer 支持的 BufferedImage。 到目前为止,我有以下代码: final IntBuffer buf = ...; DataBu
我有以下代码: IntBuffer DrawBuffers = Utils.createIntBuffer(2); int bfs[] = {GL30.GL_COLOR_ATTACHMENT0
在使用堆外缓冲区时,可能需要将它们复制到数组中。假设我们不知道缓冲区是关闭还是在堆上。如何填写执行? IntBuffer b = ... // could be off or on -heap int
在大多数 Android 设备上,如果我用整数而不是 float 进行所有 OpenGL 顶点计算/渲染,我是否应该期待性能提升? 我最近从使用 0:width, 0:height 而不是 -1:1,
我试图获取一组 mipmaplevels 并将其保存到本地缓存文件,以避免每次都重建它们(并且预先生成它们是不切实际的......) 我已经将 mipmaplevels 放入了一组位图中,现在想将它们
我正在开发一个 Android 应用程序(显然是用 Java 编写的)并且我最近更新了我的 UDP 阅读器代码。在这两个版本中,我都设置了一些缓冲区并接收了一个 UDP 数据包: byte[] buf
我知道一个快速的方法,可以将byte/short/int/long数组转换成ByteBuffer,然后得到一个字节数组。例如,要将字节数组转换为短数组,我可以这样做: byte[] bArray =
我有三个代码 fragment ,它们的行为应该相似,也可能不是,我仍在研究 OpenGL ES 如何与 Android 的 Java 绑定(bind)。但是我真的很想知道为什么 fragment B
我希望能够在我的 Android 应用程序中添加一些 native C 代码。我有一个 IntBuffer 用作 OpenGL 的 glColorPointer 方法的参数。这是填充/使用这样的东西:
这里还有其他关于此主题的问题,其中大部分涉及 ByteBuffer 和 asIntBuffer。但是,我还没有看到任何关于如何在转换为 IntBuffer 时防止值被截断的解释。 例子: byte[]
我最近在 Badlogicgames.com 上阅读了一篇关于加速将信息添加到顶点缓冲区(或任何其他 intbuffer)的过程的文章,它确实提高了我的项目速度,但我不太明白 "Noticing th
我上周开始使用 OpenGL 3.3+,在尝试让索引绘图工作时遇到了这个问题。现在,我只是尝试使用 IBO 绘制一个三角形。 索引缓冲区和indexHandle: int[] tIndices = {
Tôi là một lập trình viên xuất sắc, rất giỏi!