克隆,深克隆和浅克隆

克隆,深克隆和浅克隆https://www.cnblogs.com/xuanxufeng/p/6558330.html

1.实现克隆,继承Cloneable接口,实现clone();BeanUtils.cloneBean(origin);

克隆,深克隆和浅克隆

2.深克隆和浅克隆的区别,

浅克隆指的是克隆的时候仅仅克隆对象本身(对象的基本变量),而不拷贝对象的引用变量。

深克隆指的是克隆的时候不仅克隆对象本身,而且拷贝对象包含的引用指向的对象。

3.深克隆的实现方式

方式一:逐层实现克隆

克隆,深克隆和浅克隆

方式二:序列化实现,在序列化和反序列化后,对象被深度拷贝

对象序列化不仅能保存对象的副本,而且会跟着对象中的reference把它所引用的对象也保存起来,然后再继续跟踪那些对象的reference,以此类推。这种情形常被称作”单个对象所联结的‘对象网’ “。

但是串行化却很耗时