java的深拷贝和浅拷贝

发布时间:2026/8/10 17:17:22

java的深拷贝和浅拷贝
总结深拷贝基本类型复制其值引用类型都会创建新的实例。浅拷贝对于基本类型就是复制其值对于引用类型则是复制了指向这些数据类型的内存地址。浅拷贝Shallow Copy浅拷贝是指在创建新对象时对于对象中的基本数据类型的成员变量会复制其值而对于引用类型成员变量则只复制其引用也就是说新旧对象共享同一个引用类型成员变量指向的对象。如果通过新对象修改了引用类型成员变量指向的对象那么原对象也会受到影响。Java中实现浅拷贝的一种常见方式是通过Object类的clone()方法。需要注意的是clone()方法是受保护的所以通常需要在类中重写此方法并声明为public同时还需要实现Cloneable接口。但这种方式仅能实现浅拷贝。深拷贝Deep Copy深拷贝则是完全复制对象及其所有引用类型成员变量指向的对象即不仅复制引用本身还复制引用指向的对象。这意味着新对象和原对象以及各自的所有引用类型成员变量指向的对象都是相互独立的修改其中一个对象不会影响另一个对象。Java中实现深拷贝有几种常见方式序列化Serialization实现深拷贝最常用的方式之一是利用Java的序列化机制。对象实现Serializable接口后可以通过序列化和反序列化过程完成深拷贝。这种方法会将对象及其所有引用类型成员变量指向的对象全部复制一份。构造函数另一种实现深拷贝的方式是在类中定义一个构造函数该构造函数接受同类型的一个对象作为参数然后在构造函数中逐个复制成员变量包括递归地复制引用类型成员变量指向的对象。复制对象的属性对于简单对象可以手动编写代码来复制对象的每个属性包括递归复制引用类型成员变量指向的对象。使用第三方库也可以使用像Apache Commons Lang库中的org.apache.commons.lang3.SerializationUtils类提供的copy(Object)方法来实现深拷贝。总的来说选择浅拷贝还是深拷贝取决于具体的应用场景和需求。浅拷贝适用于不需要完全独立副本的情况而深拷贝则适用于需要完全独立副本且对象内部可能包含其他复杂对象的情况。

相关新闻

Micrometer 系列【33】Spring Boot Micrometer Metrics 自动配置模块解析

Micrometer 系列【33】Spring Boot Micrometer Metrics 自动配置模块解析

2026/8/10 17:17:22

文章目录1. 概述2. 包结构与模块划分2.1 整体分层2.2 根包:全局Filter 故障诊断2.3 actuate/endpoint 指标端点2.3 autoconfigure 核心自动配置包2.3.1 核心自动配置类2.3.2 autoconfigure/export 导出到监控系统2.3.3 内置指标 Binder 模块2.4 OTLP 开发测试辅助2…

类似小鹅通的知识付费小程序平台有哪些

类似小鹅通的知识付费小程序平台有哪些

2026/8/10 17:17:22

知识付费小程序平台怎么选?拆解码云数智、小鹅通、有赞教育三大主流工具随着私域流量持续发展,知识付费已经成为讲师、自媒体博主、培训机构变现的重要路径。搭建一套属于自己的知识付费小程序,不用依附第三方内容平台,学员数据、…

计算机毕业设计之甘肃高考志愿推荐系统的设计与实现

计算机毕业设计之甘肃高考志愿推荐系统的设计与实现

2026/8/10 17:07:22

近年来,科技飞速发展,在经济全球化的背景之下,大数据将进一步提高社会综合发展的效率和速度,大数据技术也会涉及到各个领域,而爬虫实现网站数据可视化在网站数据可视化背景下有着无法忽视的作用。管理信息系统的开发是…

元景万悟:企业级AI智能体开发架构与高可用微服务实践深度解析

元景万悟:企业级AI智能体开发架构与高可用微服务实践深度解析

2026/8/10 18:17:24

元景万悟:企业级AI智能体开发架构与高可用微服务实践深度解析 【免费下载链接】wanwu China Unicoms Yuanjing Wanwu Agent Platform is an enterprise-grade, multi-tenant AI agent development platform. It helps users build applications such as intelligent…

Volume Cloud配置全解析:天气图与高度密度图塑造千变万化的云层

Volume Cloud配置全解析:天气图与高度密度图塑造千变万化的云层

2026/8/10 18:17:24

Volume Cloud配置全解析:天气图与高度密度图塑造千变万化的云层 【免费下载链接】VolumeCloud Volume cloud for Unity3D 项目地址: https://gitcode.com/gh_mirrors/vo/VolumeCloud Volume Cloud是Unity3D中一款强大的体积云渲染工具,通过天气图…

webpack-simple-starter vs 框架脚手架:谁更适合中小型前端项目?

webpack-simple-starter vs 框架脚手架:谁更适合中小型前端项目?

2026/8/10 18:17:24

webpack-simple-starter vs 框架脚手架:谁更适合中小型前端项目? 【免费下载链接】webpack-simple-starter A simple webpack starter without framework (Like Vue, React, Angular, etc.) 项目地址: https://gitcode.com/gh_mirrors/we/webpack-simp…

为什么选择 reshade-steam-proton?Linux 平台 ReShade 工具横向对比评测

为什么选择 reshade-steam-proton?Linux 平台 ReShade 工具横向对比评测

2026/8/10 18:17:24

为什么选择 reshade-steam-proton?Linux 平台 ReShade 工具横向对比评测 【免费下载链接】reshade-steam-proton Easy setup and updating of ReShade on Linux for games using wine or proton. 项目地址: https://gitcode.com/gh_mirrors/re/reshade-steam-prot…

ACE-Step UI终极指南:免费开源的AI音乐创作利器

ACE-Step UI终极指南:免费开源的AI音乐创作利器

2026/8/10 18:17:24

ACE-Step UI终极指南:免费开源的AI音乐创作利器 【免费下载链接】ace-step-ui 🎵 The Ultimate Open Source Suno Alternative - Professional UI for ACE-Step 1.5 AI Music Generation. Free, local, unlimited. Stop paying for Suno! 项目地址: ht…

Spektrum核心功能大揭秘:从频率扫描到光标测量的完整教程

Spektrum核心功能大揭秘:从频率扫描到光标测量的完整教程

2026/8/10 18:07:24

Spektrum核心功能大揭秘:从频率扫描到光标测量的完整教程 【免费下载链接】spektrum rtl-sdr spectrum analyzer 项目地址: https://gitcode.com/gh_mirrors/sp/spektrum Spektrum是一款功能强大的rtl-sdr频谱分析仪,能够帮助用户轻松实现频率扫描…

比较好的亚太EMBA,问了6位校友师资差别真的挺大

比较好的亚太EMBA,问了6位校友师资差别真的挺大

2026/8/10 5:58:32

比较好的亚太EMBA核心差异先看什么?对于希望兼顾工作与系统管理能力提升的亚太区高管而言,筛选匹配度高的EMBA项目时,师资配置是决定学习体验与实际收获的核心要素之一。我们结合3-4个公开信息透明、办学历史较长的亚太区主流EMBA项目特点&am…

备考3个月对比6份资料 海外游学的亚洲EMBA面试注意点

备考3个月对比6份资料 海外游学的亚洲EMBA面试注意点

2026/8/10 7:54:12

备考海外游学的亚洲EMBA面试,核心要围绕项目国际化设计逻辑、个人跨文化管理经验匹配度两个维度准备,避免把游学模块等同于普通旅游参访的认知偏差。不少备考者花3个月对比6份资料,却容易忽略面试官对“国际视野落地能力”的考察——比如香港…

比较好的国内EMBA,问了二十位校友聊透人脉价值

比较好的国内EMBA,问了二十位校友聊透人脉价值

2026/8/10 7:19:21

比较好的国内EMBA核心差异体现在哪些方面?比较好的国内EMBA的核心长期价值,很大程度上依托于校友网络的连接质量与资源生态的活跃度,这也是不少高管在择校时优先考量的因素。我们结合3-4个市场关注度较高的项目公开信息,从课程、师…

Prometheus 监控体系深度部署:选型别只看功能清单

Prometheus 监控体系深度部署:选型别只看功能清单

2026/8/10 0:06:33

Prometheus 监控体系深度部署:选型别只看功能清单 选型场景:小规模集群直接部署 Thanos 的代价 如果为解决 15 天本地存储限制,直接部署 Thanos Sidecar、Store Gateway、Querier、Compactor、Ruler、Bucket Web 并接入 S3,就需…

ELK 日志分析平台与全链路追踪:代码评审该盯住哪些细节

ELK 日志分析平台与全链路追踪:代码评审该盯住哪些细节

2026/8/10 0:06:33

ELK 日志分析平台与全链路追踪:代码评审该盯住哪些细节 场景示例:一条 2MB 日志影响 Elasticsearch 写入 一个上传接口若执行 log.Info("Request dumped: ", r.Body),会将 2MB 的二进制 Body 写入日志。高并发下,这类超…

从零到一构建开源项目的完整历程:代码评审该盯住哪些细节

从零到一构建开源项目的完整历程:代码评审该盯住哪些细节

2026/8/10 0:06:33

从零到一构建开源项目的完整历程:代码评审该盯住哪些细节 项目进入稳定版本后,外部 Pull Request(PR)会带来新的协作成本。大范围改动混入风格重构,或修复局部问题时修改公共函数签名,都可能扩大评审和兼容…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/8 5:07:31

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/9 13:42:46

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/8 2:30:15

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…