利用jdkapi自己实现序列化
浅拷贝
java中的中的浅拷贝, 是指实现jdk的一个接口,然后调用 clone方法的一个对象复制操作
1。浅拷贝中 ,clone方法后,如果原型对象的成员变量是值类型,拷贝后相当于在程序中 重新生成 了一个对象和原型对象一样的对象 ,这时堆内存中重新开辟空间,引用也要改变如下图
private int phone;
private int age;
2。如果原型对象中的成员变量 是引用 对象 (Interger和String也属于引用对象,但比较特殊,下文我会提到), 拷贝后也会有个引用 ,但是引用 对象拷贝是内存拷贝,只拷贝内存地址值(也就是出现了一个新的引用还是指向原先的地址 ,你改这个对象 就一起改了自然就会出现值相等一改都改的情况)
3。有一种情况除外 不可变引用常量
String、Integer 等包装类都是不可变的对象,当需要修改不可变对象的值时,需要在内存中生成一个新的对象来存放新的值,然后将原来的引用指向新的地址,所以在这里我们修改了 jonh属性值,jonh 对象的 name 字段指向了内存中新的 name 对象,但是我们并没有改变 jack 对象的 name 字段的指向,所以 jack 对象的 name 还是指向内存中原来的 name 地址,也就没有变化
深拷贝
对象序列化深拷贝
d