-1
对于java数组最大的问题,它们需要复制才能编辑。 我正在使用AMD Aparapi,我从我的计算中获取字节数组。 我需要展示的字节数组作为字节缓冲区“不复制”Java字节数组以ByteBuffer或ByteBuffer来进行字节数组转换“没有复制”
byte aparapiData[];
ByteBuffer buffer;
...
//here bytebuffer
buffer.clear();
buffer.put(aparapiData);
buffer.flip();
socket.write(buffer);
这里的问题上的代码,buffer.put正在复制字节数组的ByteBuffer。 而且还有相反的问题将字节数组转换为bytebuffer。
他们确实需要复制数据吗? 我可以在C++上发送纯数据而无需复制。
我该如何解决Java上的这个问题?
为什么不''socket.write(aparapiData)'? – immibis
'byte aparapiData []'应该是'byte [] aparapiData';它是一个数组的事实是数据类型的一部分,而不是名称。 –
Java数组不需要'复制来编辑'。没有人强迫你使用NIO频道。你真正的问题是什么? – EJP