8得票1回答
在Java中有没有一种方法可以仅从指针创建直接的ByteBuffer?

我需要有一个JNI助手函数来调用env->NewDirectByteBuffer(buffer, size)吗?

8得票1回答
确定适当的缓冲区大小

我正在使用ByteBuffer.allocateDirect()来分配一些缓冲内存,以将文件读入内存,然后将该文件的字节进行哈希处理并得到文件哈希值(SHA)。输入文件的大小范围很大,从几KB到几GB不等。 我已经阅读了几个线程和页面(甚至在SO上),涉及选择缓冲区大小的问题。有人建议尝试选...

8得票1回答
何时使用Uint8Array、Uint16Array、Uint32Array

我有一个应用程序通过XMLHttpRequest加载用户文本并以二进制格式返回。我知道8、16和32之间的主要区别在于每个元素的字节数,但我不知道何时使用它们。 例如,对于我的应用程序,由于文本文件可能包含任何可能的字符,哪一个是最好的? 我尝试了不同的文件,包括一个包含表情符号的文件,在...

7得票3回答
ByteBuffer和字节数组

问题 我需要将两个整数和一个长度可变的字符串转换为字节。 我的做法 我将每种数据类型转换为字节数组,然后将它们添加到字节缓冲区中。紧接着,我将复制该缓冲区到一个字节数组中,如下所示。 byte[] nameByteArray = cityName.getBytes(); byte[] ...

7得票4回答
从ByteBuffer中提取Long类型数据(Java/Scala)

我正在按照以下方式构建由两个Long组成的BigInt数: val msb = -1L // some arbitrary long value, can be anything between Long.Min/MaxValue val lsb = 25L // a second arbi...

7得票1回答
为什么DirectByteBuffer.array()方法返回的数组长度会多出一部分?

我的代码如下: if (frameRGBABuffer == null) { frameRGBABuffer = ByteBuffer.allocateDirect(cameraHeight * cameraWidth * 4) .order(ByteOrder.na...

7得票2回答
C#中与Java的ByteBuffer最接近的对应物是什么?

目前正在寻求将Java应用程序与C#应用程序进行接口。在Java中,我可以使用getShort()、getFloat()等函数从缓冲区中获取不同的数据类型。 在C#中,我正在使用MemoryStream,但只有一个get()函数。是否有任何一种数据类型或甚至是类可以模拟这个功能?

7得票3回答
能否将进程的标准输出流读入NIO ByteBuffer中?

是否可以使用NIO处理进程的标准输出?我已经使用java.io实现了它,但这是为了更好地了解NIO并探索性能提升的可能性而进行的练习。 基本上,我想尽可能快地将大量文本从stdout流式传输到缓冲区中,而不会阻塞,然后稍后处理该缓冲区的内容。问题是,我似乎无法找到正确的方法来使用NIO实现。...

7得票1回答
Java/Android - 快速的 ByteBuffer 解析

我正在使用Java为基于移动Android的设备编写Web服务器。 这个Web服务器是单线程的,遵循nginx、node.js等思想:不要生成多个线程,只需在事件循环中使用异步操作。 虽然在x86最近的CPU上使用多线程Web服务器可能会提供更好的性能,但在基于ARM的单核CPU上需要做更...

7得票2回答
从Java NIO socketchannel读取字节直到遇到标记

我正在寻找一种使用Java NIO从套接字通道读取字节的有效方法。这个任务很简单,我有一个解决方案,但我正在寻找一种更清晰和更有效的解决方案。以下是场景: 1. 从套接字通道读取数据。 2. 这些数据是UTF-8编码的字符串。 3. 每行以\r\n结尾,长度未知。 4. 在读取每行后,我想对...