18得票1回答
从JNI操作ByteBuffer

我需要将一个(直接) ByteBuffer 传递给从中读取/写入缓冲区的本地函数。一旦这些操作完成,我想要使用常规函数从Java代码中访问ByteBuffer;特别是limit()和position()应该反映缓冲区的当前状态。 由于JNI将使用GetDirectBufferAddress(...

17得票3回答
将字节数组转换为双精度浮点数时出现java.nio.BufferUnderflowException异常

我需要将一个bytearray转换为双精度浮点数。我正在使用double dvalue = ByteBuffer.wrap(value).getDouble(); 但是在运行时我遇到了BufferUnderflowException异常Exception in thread "main" ja...

15得票5回答
Java DirectByteBuffer包装器是否会被垃圾回收?

我知道当分配DirectByteBuffer时,它不受垃圾回收的影响,但我想知道的是包装对象是否会被垃圾回收。 例如,如果我分配了一个新的DirectByteBuffer dbb,并使用dbb.duplicate()对其进行浅拷贝,则我将在同一块内存周围有两个包装器。 这些包装器是否会受到...

15得票1回答
ByteBuffer.allocateDirect()和MappedByteBuffer.load()的区别

我试图通过使用MappedByteBuffer将特定文件内存映射来实现两个或多个JVM之间的共享缓存。从规范中可以看出,当我们使用MappedByteBuffer.load()时,它应该将数据加载到直接缓冲区中。关于此,我有几个问题。 我的代码片段: RandomAccessFile fi...

15得票4回答
在Java中快速清除(而非删除)ByteBuffer

我想要将一个ByteBuffer清零,使其所有字节都为0x00。我尝试循环遍历缓冲区中的所有位置,并将它们设置为0x00,但效率不佳。是否有更好的方法可以快速清除ByteBuffer - 类似于BitSet.clear()的功能? 请注意,在这种情况下,ByteBuffer.clear()不...

14得票1回答
如何在Android的MediaCodec上下文中使用ByteBuffer

目前我已经设置了一个MediaCodec来对视频流进行编码,目的是将用户生成的艺术作品保存到视频文件中。 我使用Android的Bitmap对象将用户艺术作品帧推入流中。 请参见本帖底部我使用的代码片段(完整代码未被修剪): MediaCodec使用ByteBuffer处理视频/音频流。...

14得票2回答
使Java的ByteBuffer线程安全的选项

我有哪些选项可以使ByteBuffer线程安全?已知它不是线程安全的,因为它保存了位置、限制和一些(或全部?)方法依赖于这个内部状态。 对于我的目的来说,如果多个读线程是安全的,就足够了,但是为了其他未来的访问者,我想知道我需要知道什么技巧/诀窍/陷阱才能使它完全线程安全。 我想到的: ...

13得票1回答
如何在Swift中添加Protocol Buffers?

我有一个Swift中的protobuf v2,我想将它附加到另一个protobuf上。这是我的尝试: let attachment = getAttachment(id: 987) //From cloud database var protosData = NSMutableData(da...

13得票1回答
如何使用Boost::Python公开原始字节缓冲区?

我有一个第三方C++库,其中一些类方法使用原始字节缓冲区。我不太确定如何在Boost::Python中处理它。 C++库头文件大致如下:class CSomeClass { public: int load( unsigned char *& pInBufferDat...

13得票7回答
如何将String数组转换为Byte数组?(Java)

我有一个一维字符串数组,想将其转换为一维字节数组。我该怎么做?这需要 ByteBuffer 吗?如何做到这一点?(字符串的长度可以是任意的,只想知道如何进行此操作。将其转换为字节数组后,如何将其转换回字符串数组?) - Dan