由于 System.arraycopy() 和 clone() 只做浅拷贝,我想知道这种方法是否适用于做深拷贝。
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(bos);
long x=System.nanoTime();
oos.writeObject(fromArray);
oos.flush();
ByteArrayInputStream bin = new ByteArrayInputStream(bos.toByteArray());
ObjectInputStream ois = new ObjectInputStream(bin);
Object o=ois.readObject();
double timeTaken= (System.nanoTime()-x)/1000000000.0;
1)变量 timeTaken 会给我做深拷贝的实际时间吗?
2)如果我传递数据说一个大小为 1MB 的数组,例如
byte[] fromArray = new byte[1024*1024];
并以 Mb/sec 为单位计算吞吐量,例如,
double throughput=1/timeTaken;
将其视为内存基准测试吞吐量是否合理?