我見過沒有問題,具體回覆這個參數組合: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)的偏移量,以查找每個元素的大小。 –