9得票1回答
Java - 直接缓冲区何时释放?

由于它超出了jvm堆和gc范围,那么它何时被释放?或者说它会一直保留到进程终止? 我已经检查过: 如何垃圾回收java中的直接缓冲区 在JOGL中释放直接缓冲区本机内存 ByteBuffer.allocate() vs. ByteBuffer.allocateDirect() 但是所...

9得票2回答
直接使用java.nio.ByteBuffer与Java数组性能测试

我想比较直接字节缓冲区(java.nio.ByteBuffer,非堆)和堆缓冲区(通过数组实现)在读写方面的性能。我的理解是,ByteBuffer 是非堆的,因此至少有两个优点。首先,它不会被视为垃圾回收的对象;其次(我希望我理解得正确),JVM 在从中读取和写入时不会使用中间/临时缓冲区。这...

8得票4回答
在Java中将ByteBuffer转换为字符串

我有一个从ByteBuffer获取的byte[] bytes,其中包含数据包。我想将该数据包放入一个String中。 目前我的代码如下: byte[] bytes = packet.array(); System.out.println("Packet String:" +...

8得票2回答
如何在Android中将ByteBuffer转换为图像

我通过socket接收到了一张jpg图片,它被发送为ByteBuffer。 我的处理方式如下: ByteBuffer receivedData ; // Image bytes byte[] imageBytes = new byte[0]; ...

8得票6回答
根据您的发送方式,以多种方式发送数据

我有一组键和值,我想把它们打包成一个字节数组发送到我们的消息队列中。我将创建一个包含所有键和值的字节数组,其大小应始终小于50K,然后发送到我们的消息队列中。 Packet类: public final class Packet implements Closeable { priva...

8得票4回答
如何序列化ByteBuffer

我希望使用 RMI 将 java.nio.ByteBuffer 通过网络发送,但是 ByteBuffer 不可序列化。我尝试了以下自定义类但没有成功: public class NetByteBuffer implements java.io.Serializable { ByteBuff...

8得票2回答
ByteBuffer getInt()的问题

我们正在使用Java ByteBuffer与C ++服务器进行套接字通信。我们知道Java是大端字节序,套接字通信也是大端字节序。因此,每当Java接收到字节流并将其放入ByteBuffer中时,我们调用getInt()获取值。没有问题,无需转换。 但是,如果我们明确将ByteBuffer的...

8得票2回答
如何在Java中将大端字节缓冲区转换为小端?

我目前有一个以Big Endian格式存储数据的Java ByteBuffer。我想将其作为Little Endian写入二进制文件。 以下是仍然采用Big Endian编写文件的代码: public void writeBinFile(String fileName, boolean ...

8得票3回答
基于字节集合的类似于Java中的ByteBuffer的实现方式

我需要一个C#的实现,类似于Java中的ByteBuffer。感兴趣的方法有: - .remaining() - 返回当前位置和限制之间的元素数。 - .array() - .clear() - .put(byte[], int, int) 我用MemoryStream开始了一些工作,但是没...

8得票2回答
是否有一个Java ByteBuffer实现,在其底层将多个支持ByteBuffer组合起来使用?

我有一个或多个包含单个消息部分的ByteBuffer。现在我想要读取这条消息,但我不想将N个ByteBuffer复制成一个。我的解析器期望有一份完整消息的单个ByteBuffer,但我的消息被分成了N个ByteBuffer。 有没有办法将这些N个ByteBuffer组合成一个而无需复制字节?...