昆仑弟子_面霸
07-02·后端开发·10年+
面试吊打面试官
面试官:说下什么是对象拷贝?我:就是创建一个新对象,不重复new面试官:那浅拷贝是什么?我:只会复制对象的基本数据类型值。引用类型的成员,只复制内存地址,不复制对象本身面试官:深拷贝呢?我:深拷贝是完全复制对象。基本类型直接复制值。引用类型会新建一个全新对象,复制其所有内容面试官:两者核心区别是什么?我:浅拷贝只复制壳子,引用资源共用。深拷贝复制全套,所有资源完全独立。面试官:Java默认的clone方法是哪种拷贝?我:浅拷贝。面试官:那怎么实现深拷贝?我:第一,重写clone方法,引用类型手动再次克隆。第二,通过序列化、反序列化实现面试官:平时开发什么时候用浅拷贝?我:对象没有引用类型属性,或者允许数据共用。这种场景用浅拷贝,效率高、开销小。面试官:深拷贝的使用场景呢?我:需要修改复制后的对象,且不能影响原对象。比如实体数据修改、数据备份,必须用深拷贝。面试官:浅拷贝效率高还是深拷贝?为什么?我:浅拷贝,因不用递归创建新引用对象,少了堆内存开辟开销面试官:开发中容易踩什么坑?我:比如浅拷贝后,修改数据污染原对象
发布于 广东
2
1
3
未登录
友善发言
image-upload
评论
加载中