当前位置: 首页 > news >正文

【面试题精讲】深拷贝和浅拷贝区别了解吗?什么是引用拷贝?

有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步,认准https://blog.zysicyj.top

首发博客地址[1]

面试题手册[2]

系列文章地址[3]


深拷贝和浅拷贝的区别:

深拷贝(Deep Copy)和浅拷贝(Shallow Copy)是在进行对象拷贝时常用的两种方式,它们之间的主要区别在于是否复制了对象内部的数据。

  • 浅拷贝只是简单地将原对象的引用赋值给新对象,新旧对象共享同一块内存空间。当其中一个对象修改了这块内存中的数据时,另一个对象也会受到影响。
  • 深拷贝则是创建一个全新的对象,并且递归地复制原对象及其所有子对象的内容。新对象与原对象完全独立,对任何一方的修改都不会影响另一方。

引用拷贝:

引用拷贝是指将一个对象的引用直接赋值给另一个变量,使得两个变量指向同一个对象。这样,在修改其中一个变量所指向的对象时,另一个变量也会随之改变。

引用拷贝通常发生在传递参数、返回值等场景中。例如,在 Java 中,如果将一个对象作为参数传递给方法,实际上是将该对象的引用传递给了方法,而不是对象本身的拷贝。

需要注意的是,引用拷贝并非真正意义上的拷贝,而是共享同一份数据。因此,对于引用拷贝的对象,在修改其内部数据时需要注意是否会影响到其他使用该对象的地方。

总结起来:

  • 浅拷贝只复制了对象本身,不会复制对象内部的数据。
  • 深拷贝递归地复制了对象及其所有子对象的内容。
  • 引用拷贝是将一个对象的引用赋值给另一个变量,使得两个变量指向同一个对象。

参考资料

[1]

首发博客地址: https://blog.zysicyj.top/

[2]

面试题手册: https://store.amazingmemo.com/chapterDetail/1685324709017001

[3]

系列文章地址: https://blog.zysicyj.top/categories/技术文章/后端技术/系列文章/面试题精讲/

本文由 mdnice 多平台发布

相关文章:

【面试题精讲】深拷贝和浅拷贝区别了解吗?什么是引用拷贝?

“ 有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步,认准https://blog.zysicyj.top ” 首发博客地址[1] 面试题手册[2] 系列文章地址[3] 深拷贝和浅拷贝的区别: 深拷贝(Deep Copy)和浅拷贝&#…...

CentOS7.9中使用packstack安装train版本

这里写目录标题 材料准备为什么选择packstack安装静态ip系统配置使用阿里云yum源安装packstack部署openstack 材料准备 ecs云服务器8核心16g内存一台,系统盘100GB,系统CentOS7.9vpc网段:192.168.0.1/24eip一个,带宽5M以上 为什么…...

mfw git泄露构造闭合

这题也挺有想法 第一次确实没有想到 首先我们可以扫出 git 然后 我们githack 泄露一下 然后我们看index.php代码 <?phpif (isset($_GET[page])) {$page $_GET[page]; } else {$page "home"; }$file "templates/" . $page . ".php";/…...

UE5修改导航网格的参数

Unreal Engine 4 - Recast NavMesh Size, how to Change Agent Radius / Tutorial - YouTubehttps://www.youtube.com/watch?vf3hF6xdmCTk 修改当前的 代理半径就是一般贴边的长度 修改编辑器的...

郁金香2021年游戏辅助技术中级班(七)

郁金香2021年游戏辅助技术中级班&#xff08;七&#xff09; 058-C,C写代码HOOK分析封包数据格式A059-C,C写代码HOOK分析封包数据格式B-detours劫持060-C,C写代码HOOK分析封包数据格式C-过滤和格式化061-C,C写代码HOOK分析封包数据格式D-写入配置文件062-C,C写代码HOOK分析封包…...

【网络】路由器和交换机的区别

&#x1f341; 博主 "开着拖拉机回家"带您 Go to New World.✨&#x1f341; &#x1f984; 个人主页——&#x1f390;开着拖拉机回家_Linux,大数据运维-CSDN博客 &#x1f390;✨&#x1f341; &#x1fa81;&#x1f341; 希望本文能够给您带来一定的帮助&#x1…...

SQL的CASE WHEN函数、CAST函数、CONVERT() 函数、COALESCE()函数、DATEDIFF()函数

一、CASE WHEN简单使用 SELECT CASE WHEN age > 18 AND age < 25 THEN 18-25WHEN age > 25 AND age < 35 THEN 25-35WHEN age > 35 AND age < 45 THEN 36-45ELSE 45END AS age_groupFROM peopleGROUP BY age_group;二、CASE WHEN语句与聚合函数一起使用 SE…...

前后端分离计算机毕设项目之基于springboot+vue的房屋租赁系统《内含源码+文档+部署教程》

博主介绍&#xff1a;✌全网粉丝10W,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业毕业设计项目实战6年之久&#xff0c;选择我们就是选择放心、选择安心毕业✌ &#x1f345;由于篇幅限制&#xff0c;想要获取完整文章或者源码&#xff0c;或者代做&am…...

《Spring框架前世今生》

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…...

基于树种优化的BP神经网络(分类应用) - 附代码

基于树种优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码 文章目录 基于树种优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码1.鸢尾花iris数据介绍2.数据集整理3.树种优化BP神经网络3.1 BP神经网络参数设置3.2 树种算法应用 4.测试结果&#xff1a;5.M…...

纳百川冲刺创业板上市:计划募资约8亿元,宁德时代为主要合作方

近日&#xff0c;纳百川新能源股份有限公司&#xff08;下称“纳百川”&#xff09;向深交所创业板递交的上市申请材料获得受理&#xff0c;浙商证券为其独家保荐人。 本次冲刺上市&#xff0c;纳百川计划募资8.29亿元&#xff0c;将用于纳百川&#xff08;滁州&#xff09;新能…...

light client轻节点简介

1. 引言 前序博客&#xff1a; Helios——a16z crypto构建的去中心化以太坊轻节点 去中心化和自我主权对于Web3的未来至关重要&#xff0c;但是这些理想并不总适用于每个项目或应用程序。在非托管钱包和bridges等工具中严格优先考虑安全性而不是便利性的用户&#xff0c;可选…...

1500*B. Zero Array(贪心数学找规律)

Problem - 1201B - Codeforces 解析&#xff1a; 因为每次减少2&#xff0c;如果总和为奇数肯定无法实现。 特例&#xff0c;如果某个数大于其他所有数的总和&#xff0c;同样无法实现。 其他均可实现。 #include<bits/stdc.h> using namespace std; #define int long l…...

java Spring Boot整合jwt实现token生成并验证效果

先在 pom.xml 文件中注入依赖 <!-- JWT --> <dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt-api</artifactId><version>0.11.2</version> </dependency> <dependency><groupId>io.jsonw…...

基础-MVP图像处理-仿射变换

仿射变换算子可以将输入图像矩形区域的图像进行变换&#xff0c;并生成新的矩形输出图像。 可对图像进行截取、缩放、倾斜、旋转等操作&#xff0c;矫正图像到无倾斜&#xff0c;配合其他算子使用。 配置界面&#xff1a;可以调整其位置、大小、旋转和倾斜程度&#xff0c;缩放…...

Linux嵌入式学习之Ubuntu入门(六)shell脚本详解

系列文章内容 Linux嵌入式学习之Ubuntu入门&#xff08;一&#xff09;基本命令、软件安装、文件结构、编辑器介绍 Linux嵌入式学习之Ubuntu入门&#xff08;二&#xff09;磁盘文件介绍及分区、格式化等 Linux嵌入式学习之Ubuntu入门&#xff08;三&#xff09;用户、用户组…...

学习完C++ 并发编程后 手写线程池 最简单的线程池

目录 精简版注释&#xff1a; //线程安全的队列容器&#xff08;精简版&#xff09; 最简易可行的线程池&#xff08;精简版&#xff09; 详细版注释&#xff1a; //线程安全的队列容器&#xff08;详细版&#xff09; 最简易可行的线程池&#xff08;详细版&#xff0…...

【Overload游戏引擎分析】编辑器对象鼠标拾取原理

Overload的场景视图区有拾取鼠标功能&#xff0c;单击拾取物体后会显示在Inspector面板中。本文来分析鼠标拾取这个功能背后的原理。 一、OpenGL的FrameBuffer 实现鼠标拾取常用的方式有两种&#xff1a;渲染id到纹理、光线投射求交。Overload使用的是渲染id到纹理&#xff0c…...

【Spring内容进阶 | 第三篇】AOP进阶内容

前言&#xff1a; 在前面我们已经粗略的介绍了什么是AOP以及各种基础知识点&#xff0c;而本篇我们将聚焦于AOP的细节&#xff0c;详细的讲解一下AOP中的通知类型&#xff0c;通知顺序&#xff0c;切入点表达式以及连接点。通过对AOP的熟练掌握&#xff0c;我们可以快速编写出低…...

华为云ModelArts:引领AI艺术创作的未来,让人人都可以成为“艺术家”!

随着科技的飞速发展,艺术创作逐渐告别传统的画布和画笔,开始走向数字化、智能化的新时代。在这个蓬勃发展的领域中,华为云ModelArts以其强大的功能和出色的性能引领着AI艺术创作的未来。 华为云ModelArts是面向开发者的一站式AI开发平台,为机器学习与深度学习提供海量数据预处…...

AI智能体配置管理实战:基于agent-config-manager的解决方案

1. 项目概述与核心价值最近在折腾一个多智能体协作的项目&#xff0c;发现配置文件的管理简直是个灾难。每个智能体&#xff08;Agent&#xff09;都有自己的一堆参数&#xff1a;API密钥、模型选择、系统提示词、温度值、最大token数……更别提不同环境&#xff08;开发、测试…...

从零构建MCP服务:AI应用外部工具集成入门指南

1. 项目概述&#xff1a;从零构建你的第一个MCP服务 最近在AI应用开发圈里&#xff0c;MCP&#xff08;Model Context Protocol&#xff09;这个词的热度越来越高。如果你正在尝试将大型语言模型&#xff08;LLM&#xff09;的能力集成到自己的应用里&#xff0c;或者想为你的A…...

轻量化AI助手框架部署指南:基于Nectar-GPT构建社交场景智能机器人

1. 项目概述&#xff1a;一个面向社交场景的轻量化AI助手最近在GitHub上看到一个挺有意思的项目&#xff0c;叫socialtribexyz/Nectar-GPT。光看名字&#xff0c;你可能会觉得这又是一个基于GPT API的简单封装&#xff0c;或者是一个聊天机器人。但当我深入去研究它的代码结构、…...

本周 GitHub 最热项目全解析!Star History 2026年第20周(5月8日-14日)排行榜深度盘点

统计周期&#xff1a;2026年5月8日 – 5月14日 数据来源&#xff1a;star-history.com 前言 每周的 GitHub Trending 就像开发者世界的晴雨表——什么技术方向最火、哪些工具最受追捧、哪个生态最具活力&#xff0c;都能从这份排行榜上一目了然。本周&#xff08;2026年5月8日…...

手把手教你用Zynq-7100 FPGA实现100Mbps OOK信号定时同步(含完整Verilog代码)

基于Zynq-7100的OOK信号定时同步实战&#xff1a;从算法到FPGA实现全解析 在无线通信系统中&#xff0c;定时同步是数字接收机设计中最关键的环节之一。当我们需要在Xilinx Zynq-7100 FPGA平台上实现100Mbps OOK信号的接收处理时&#xff0c;面临的最大挑战是如何在仅有50MHz外…...

别再只会用`p`了!GDB调试C++结构体/类与数组的3个高级技巧与避坑指南

别再只会用p了&#xff01;GDB调试C结构体/类与数组的3个高级技巧与避坑指南 调试C代码时&#xff0c;你是否经常遇到这样的场景&#xff1a;面对一个复杂对象&#xff0c;用p *ptr命令后&#xff0c;终端输出像天书一样难以理解&#xff1f;结构体成员挤在一起&#xff0c;数…...

海洋AI工具集seait:从数据处理到模型部署的工程实践指南

1. 项目概述&#xff1a;一个面向“海洋”的AI工具集最近在GitHub上闲逛&#xff0c;发现了一个挺有意思的项目&#xff0c;叫seait。第一眼看到这个名字&#xff0c;我下意识地把它拆成了“sea”和“it”&#xff0c;心想这大概是个和海洋或者海事相关的IT工具。点进去一看&am…...

数据与大语言模型融合:从NL2SQL到RAG架构的实践指南

1. 项目概述&#xff1a;当数据遇见大语言模型如果你是一名数据工程师、数据分析师&#xff0c;或者任何需要和数据打交道的开发者&#xff0c;最近肯定被“大语言模型”和“数据智能”这两个词轮番轰炸。我们手里有海量的数据&#xff0c;从结构化的业务表到非结构化的日志、文…...

CircuitPython硬件编程在Linux单板机上的实现:以ODROID C2为例

1. 项目概述&#xff1a;当CircuitPython遇见Linux单板机如果你玩过树莓派Pico或者Adafruit的Feather开发板&#xff0c;肯定对CircuitPython不陌生。它让Python跑在了微控制器上&#xff0c;用几行代码就能点亮LED、读取传感器&#xff0c;对硬件新手和快速原型开发来说&#…...

WELearn网课助手:5分钟掌握智能学习,告别熬夜刷课

WELearn网课助手&#xff1a;5分钟掌握智能学习&#xff0c;告别熬夜刷课 【免费下载链接】WELearnHelper 显示WE Learn随行课堂题目答案&#xff1b;支持班级测试&#xff1b;自动答题&#xff1b;刷时长&#xff1b;基于生成式AI(ChatGPT)的答案生成 项目地址: https://git…...