Java中的深拷贝浅拷贝

发布时间 2023-08-07 19:51:48作者: passionConstant

在计算机内存中,每个对象都有一个地址,这个地址指向对象在内存中存储的位置。当我们使用变量引用一个对象时,实际上是将该对象的地址赋值给变量。

因此,如果我们将一个对象复制到另一个变量中,实际上是将对象的地址复制到了这个变量中。

浅拷贝是指将一个对象复制到另一个变量中,但是只复制对象的地址,而不是对象本身。也就是说,原始对象和复制对象实际上是共享同一个内存地址的。

深拷贝是指将一个对象及其所有子对象都复制到另一个变量中,也就是说,它会创建一个全新的对象,并将原始对象中的所有属性或元素都复制到新的对象中。

 

实现序列化的方法:

实现cloneable接口,重写clone方法。

序列化实现深拷贝。先把对象序列化成流,再从流中反序列化成对象。