[英]What is the best way to store a byte array in memory
在服务器事务中的某处,我从某个后端作业接收一个表示pdf文档的字节数组。
稍后在交易中,需要将pdf写入客户端。 但是目前,我有该字节数组,我想将其存储在内存中,直到需要将pdf文件写入客户端为止。
处理字节数组的最佳方法是什么?
创建一个ModelObject并将字节数组保留为纯字节数组?
因此,例如:
public class PdfDocument {
private byte[] bytearray;
private String pdftitle;
}
还是有比将其作为纯字节数组保留在内存中更好的Java对象? 像ByteBuffer或其他东西。
谢谢
这取决于您如何接收数据以及数据是否以某种方式更改:
PdfDocument
对象本身仅需几个字节)。 但是,您应该考虑后端是否保证它以后不会更改阵列。 如果不是这种情况,或者为了安全起见,可以使用Arrays.copyOf
创建一个副本:
byte[] bytearray = Arrays.copyOf(bytearray, bytearray.length);
似乎您正在寻找更花哨的东西,但我想您的课程在这里很好。
变量“ bytearray”是对Array类的对象的引用。 引用占用很少的内存空间。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.