Deep copy duplicate() of Java’s ByteBuffer
I think the deep copy need not involve byte[]. Try the following: public static ByteBuffer clone(ByteBuffer original) { ByteBuffer clone = ByteBuffer.allocate(original.capacity()); original.rewind();//copy from the beginning clone.put(original); original.rewind(); clone.flip(); return clone; }