昆仑弟子_面霸
07-02·后端开发·10年+
面试吊打面试官
面试官:说下什么是对象拷贝?我:就是创建一个新对象,不重复new面试官:那浅拷贝是什么?我:只会复制对象的基本数据类型值。引用类型的成员,只复制内存地址,不复制对象本身面试官:深拷贝呢?我:深拷贝是完全复制对象。基本类型直接复制值。引用类型会新建一个全新对象,复制其所有内容面试官:两者核心区别是什么?我:浅拷贝只复制壳子,引用资源共用。深拷贝复制全套,所有资源完全独立。面试官:Java默认的clone方法是哪种拷贝?我:浅拷贝。面试官:那怎么实现深拷贝?我:第一,重写clone方法,引用类型手动再次克隆。第二,通过序列化、反序列化实现面试官:平时开发什么时候用浅拷贝?我:对象没有引用类型属性,或者允许数据共用。这种场景用浅拷贝,效率高、开销小。面试官:深拷贝的使用场景呢?我:需要修改复制后的对象,且不能影响原对象。比如实体数据修改、数据备份,必须用深拷贝。面试官:浅拷贝效率高还是深拷贝?为什么?我:浅拷贝,因不用递归创建新引用对象,少了堆内存开辟开销面试官:开发中容易踩什么坑?我:比如浅拷贝后,修改数据污染原对象
发布于 广东
2
1
3
未登录
友善发言
评论
加载中
下载脉脉APP,成就职业梦想
违法不良信息&未成年人有害信息举报电话/客服电话:400 065 0808
违法不良信息&未成年人有害信息举报邮箱/客服邮箱:maimai@taou.com
清朗系列专项行动相关违规信息举报电话:400 065 0808,举报邮箱:maimai@taou.com
个人/企业等被诽谤侮辱、人身权或知识产权等被侵犯、网络谣言的举报地址:maimai.cn/tousu | 涉企虚假不实信息举报投诉专区
京ICP备12005786号-1copyright©maimai.cn