Java 引用
目录一、引用定义二、浅拷贝和深拷贝1.引用拷贝2.深拷贝一、引用定义引用Reference记录的是对象在堆空间中的内存地址因为Java是值传递所以引用存储的是内存地址根据内存地址的编码位数分为32位和64位操作系统分别能表示232B4GB和264B234GB内存空间每个数字代表一个字节的内存编号。如果是32位内存地址那么每个引用占用4B64位占用8B。对于局部变量会占用栈中局部变量表的内存空间必须赋初值否则编译报错。对于成员变量会占用堆空间中的内存默认赋值为null。强引用常见的引用都是强引用。只要强引用存在垃圾回收器永远不会回收被引用的对象。可能导致内存溢出问题ObjectobjnewObject();软引用在内存不足时软引用关联的对象会强制被垃圾回收器回收。SoftReferenceObjectsoftRefnewSoftReference(newObject());弱引用在垃圾回收器线程扫描内存区域时一旦发现弱引用不管当前内存是否足够都会回收弱引用关联的对象。可能导致内存泄露问题WeakReferenceObjectweakRefnewWeakReference(newObject());二、浅拷贝和深拷贝引用拷贝两个不同的引用指向堆中同一个对象。浅拷贝浅拷贝会在堆上创建一个新的对象区别于引用拷贝不过如果原对象内部的属性是引用类型的话浅拷贝会直接复制内部对象的引用地址即复用内部对象。深拷贝深拷贝会完全复制整个对象包括这个对象所包含的内部对象。1.引用拷贝ListEmployeelistnewArrayList();EmployeeemployeenewEmployee();for(inti0;i3;i){employee.setName(i);list.add(employee);}list.forEach(System.out::println);这个程序的执行结果是2 2 22.深拷贝publicstaticvoidtest2(){ListEmployeelistnewArrayList();for(inti0;i3;i){EmployeeemployeenewEmployee();employee.setName(i);list.add(employee);}list.forEach(System.out::println);}这个程序的执行结果是0 1 2

相关新闻

微波网络参数与级联计算技术详解

微波网络参数与级联计算技术详解

1. 微波网络参数的基础概念微波网络参数是描述微波系统中信号传输特性的核心工具。在射频和微波工程领域,我们常用散射参数(S参数)、阻抗参数(Z参数)、导纳参数(Y参数)和ABCD参数等来描述二端口…

2026/7/28 11:13:11阅读更多 →
基于YOLO的PCB缺陷检测系统开发与优化实践

基于YOLO的PCB缺陷检测系统开发与优化实践

1. 项目概述:基于深度学习的PCB缺陷检测系统 这个项目构建了一个完整的工业质检解决方案,通过YOLO系列算法实现PCB板的自动化缺陷检测,并采用Django框架开发了可视化的Web管理界面。我在电子制造业的AI质检领域有五年实战经验,这套…

2026/7/28 11:11:10阅读更多 →
学术资源获取全攻略:从检索技巧到开放获取

学术资源获取全攻略:从检索技巧到开放获取

1. 学术资源获取的现状与痛点 作为一名在科研领域摸爬滚打多年的老手,我深知文献检索对于学术工作者的重要性。记得刚读研时,为了找一篇关键论文,我不得不辗转多个图书馆,甚至托国外的同学帮忙复印邮寄。这种经历让我深刻体会到开…

2026/7/28 11:11:10阅读更多 →
3步完成B站视频下载:专业工具助你轻松获取大会员4K高清资源

3步完成B站视频下载:专业工具助你轻松获取大会员4K高清资源

3步完成B站视频下载:专业工具助你轻松获取大会员4K高清资源 【免费下载链接】bilibili-downloader B站视频下载,支持下载大会员清晰度4K,持续更新中 项目地址: https://gitcode.com/gh_mirrors/bil/bilibili-downloader 想要保存B站上…

2026/7/28 22:23:13阅读更多 →
add-gitignore集成gitignore.io背后的故事:开源协作的典范

add-gitignore集成gitignore.io背后的故事:开源协作的典范

add-gitignore集成gitignore.io背后的故事:开源协作的典范 【免费下载链接】add-gitignore An interactive CLI tool that adds a .gitignore to your projects. 项目地址: https://gitcode.com/gh_mirrors/ad/add-gitignore add-gitignore是一款交互式CLI工…

2026/7/28 22:23:13阅读更多 →
Java国密SM2算法实战:从原理到BouncyCastle完整实现与避坑指南

Java国密SM2算法实战:从原理到BouncyCastle完整实现与避坑指南

1. 项目概述:为什么我们需要深入理解SM2如果你是一名Java后端开发者,最近在对接银行、政府项目或者涉及金融数据交换的系统,那么“国密算法”这个词大概率已经在你耳边响起了无数次。项目需求文档里冷不丁就会冒出一句“需支持国密SM2/SM3/SM…

2026/7/28 22:23:13阅读更多 →
【大白话说Java面试题 第202题】【09_Zookeeper篇】第3题:说一下什么是 TCP 协议?

【大白话说Java面试题 第202题】【09_Zookeeper篇】第3题:说一下什么是 TCP 协议?

📌 PDF:大白话说Java面试题 — 09_Zookeeper篇 第3题:说一下什么是 TCP 协议? 📚 回答: 核心考点: TCP 是互联网传输层的基石协议,大厂面试中不会只问"三次握手四次挥手"…

2026/7/28 22:23:13阅读更多 →
从0到1构建编译器插件测试:使用Kotlin Compile Testing验证插件功能

从0到1构建编译器插件测试:使用Kotlin Compile Testing验证插件功能

从0到1构建编译器插件测试:使用Kotlin Compile Testing验证插件功能 【免费下载链接】kotlin-compile-testing A library for testing Kotlin and Java annotation processors, compiler plugins and code generation 项目地址: https://gitcode.com/gh_mirrors/k…

2026/7/28 22:23:13阅读更多 →
ZigbeeTLc版本历史与新功能:从0.1.1.1到0.1.3.8的进化之路

ZigbeeTLc版本历史与新功能:从0.1.1.1到0.1.3.8的进化之路

ZigbeeTLc版本历史与新功能:从0.1.1.1到0.1.3.8的进化之路 【免费下载链接】ZigbeeTLc Custom firmware for Zigbee 3.0 IoT devices on the TLSR825x chip 项目地址: https://gitcode.com/gh_mirrors/zi/ZigbeeTLc ZigbeeTLc是一款针对TLSR825x芯片的Zigbee…

2026/7/28 22:21:13阅读更多 →
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

🔹 工具基础介绍 OpenClaw 是开源生态中一款实用性较强的本地智能工具,凭借本地离线运行、可视化图形操作和任务自动化三大核心特性,赢得了众多用户的青睐。与普通在线对话AI工具不同,它属于能够直接操控本机软硬件的智能数字员工…

2026/7/28 4:06:39阅读更多 →
伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

所谓液压伺服阀体的精密激光焊接,是用激光束对阀座壳体(通常为不锈钢或铝合金)进行密封焊接,使阀体在21-35MPa的高压液压油或压缩气体中长期运行而不发生介质泄漏。液压伺服阀是高端液压系统的"大脑"。从航空航天飞行控…

2026/7/28 2:08:06阅读更多 →
D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还在…

2026/7/28 1:38:28阅读更多 →
告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生 【免费下载链接】OmenSuperHub Control Omen laptop performance, fan speeds, and keyboard lighting, and unlock power limits. 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 你是否也曾为官方Om…

2026/7/28 0:00:29阅读更多 →
RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

做 RAG 的人应该都踩过这个致命的坑:把几百页的财报、法规、技术手册扔给向量库,问一个具体问题,搜出来的全是沾边但没用的内容 —— 关键信息要么被硬切块拆碎了,要么藏在几十条结果的最下面。语义相似≠真正相关,这个…

2026/7/28 0:00:29阅读更多 →
抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

2026年做短视频运营,从抖音上扒文案早就不是偷偷抄笔记的事了。我刚开始做内容的时候,每天刷半小时抖音,手动把爆款视频的口播敲进备忘录,一条2分钟的视频得花十来分钟,碰到语速快的还要反复回听。后来试了一圈工具&am…

2026/7/28 0:00:29阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/28 20:22:24阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/28 3:17:03阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/28 2:35:58阅读更多 →