我见过没有问题,具体回复这个参数组合:memcpy +指针+ java
Java + memcpy +指针。
我的C/C++背景可能会偏袒我。 在C++中我可以这样做:
memcpy (Destination, Source, length_data);
和目的地和来源可以是只有两个内存位置。 有没有办法在Java中使用原始类型的数组来完成它?
所有
Arrays.copyOf
Arrays.copyOfRange
的实现都基本上是做了一半工作。从某种意义上说,您可以指定数据量或给定范围,但所有这些数据都会返回一个数组,但它们不会修改现有的数组。
在此先感谢。
我不推荐它,但有一个相当于Unsafe.copyMemory(),它可以用来从地址/对象复制到任意长度的字节的地址/对象。 –
谢谢彼得。我指的是数组的副本。 但是,您的评论对于通用的memcpy操作可能非常有用。 – 2dvisio
数组是对象,您可以调用Unsafe.arrayBaseOffset()来获取第一个值和arrayIndexScale(Class)的偏移量,以查找每个元素的大小。 –