「Java面试」什么是深拷贝和浅拷贝?

2023-01-03 0 430

hi,我们好,我是Mic,两个没天分仅靠高帅富TNUMBERG50SX的Java开发人员。

两个组织工作了3年的小伙,为难穆尔的二话不说朋友圈我,说前段时间复试也昂西桑县了。

而已找个CRUD的组织工作,居然还问我深复本和浅复本,那个难题又不负面影响我写CRUD,唉。

接着真挚的望向夜空,眼中充满著了迷惘了恐惧。

有关:“甚么是深复本和浅复本”那个难题,我把剑客的提问重新整理到了两个10W字的复试文件格式里头,我们能朋友圈推送【Mic】申领。

上面看一看剑客对那个难题的提问。

播映
播映
00:00 / 00:00 已经开始现场直播
00:00
步入全屏幕
50
点选握住可拖曳音频

须要剑客复试文件格式(附送穆萨外部五千字复试文件格式)或是有要学的控制技术复试题想进行咨询的爸爸妈妈能前台朋友圈【Mic】或是文章区回帖

剑客

好的,复试官。

深复本和浅复本是用以叙述第一类或是第一类字符串此种提及正则表达式的拷贝情景的。

浅复本是只拷贝某一第一类的操作符,而不拷贝第一类这类。

此种拷贝方式意味着两个提及操作符指向被拷贝第一类的同一块内存地址。

「Java面试」什么是深拷贝和浅拷贝?

深复本会完全创建两个一模一样的新第一类,新第一类和老第一类不共享内存,也就意味着对新第一类的修改不会负面影响老第一类的值。

「Java面试」什么是深拷贝和浅拷贝?

在Java里头,无论是深复本还是浅复本,都须要通过实现Cloneable接口,并实现clone()方法。

接着我们能在clone()方法里头实现浅复本或是深复本的逻辑。

实现深复本的方法有很多,比如

通过序列化的方式实现,也是把两个第一类先序列化一遍,接着再反序列化回来,就会得到一个完整的新第一类。clone()方法里头重写克隆逻辑,也是对克隆第一类外部的提及变量再进行一次克隆。

总结

那个难题属于Java基础范畴,它很重要。

如果不小心使用错了复本方法,就会导致多个线程同时操作两个第一类造成数据安全难题。

一般情况下那个难题是针对1~3年左右的开发人员。

我们记得点赞收藏+关注!

须要剑客复试文件格式(附送大厂外部五千字复试文件格式)或是有要学的控制技术复试题想进行咨询的爸爸妈妈能前台朋友圈【Mic】或者文章区回帖。

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务