通过代码搞明白JAVA中值传递和引用传递
public static void main(String[] args) {Map a = new HashMap();a.put("a", 1);System.out.println(a + "我在main中的值");aaa(a);System.out.println(a + "我在main中的值");bbb(a);System.out.println(a + "我在main中的值");int b = 1;ccc(b);System.out.println(b + "我在main中的值");}public static int aaa(Map a) {a.put("abc", 1);a.put("a", 2);System.out.println(a + "我在aaa中的值:");return 0;}public static int bbb(Map a) {Map c = new HashMap<>();//Map c = new HashMap<>(a);
//这里尤其注意,这是个迷惑行为,虽然new了新的对象,实际上还是把a的引用赋值给了c,
//实际就是创建新的副本地址,用的值还是一个所以改变c还是会改变a;
//如果上面的代码和此行代码改为 Map c = new HashMap<>(a)才是真正的new了个对象
//并把a里的值赋值给了c,改变c不会对a的值有影响c= a; c.put("c", 1);System.out.println(c + "我在bbb中的c的值");System.out.println(a + "我在bbb中的a的值");return 0;}public static int ccc(int c) {c = 10;System.out.println(c + "我在aaa中的值:");return 0;}
运行结果
{a=1}我在main中的值:
{a=2, abc=1}我在aaa中的值:
{a=2, abc=1}我在main中的值:
{a=2, abc=1, c=1}我在bbb中的c的值:
{a=2, abc=1, c=1}我在bbb中的a的值:
{a=2, abc=1, c=1}我在main中的值:
10我在aaa中的值
1我在main中的值
结论:
于基本数据来说,在进行传递的时候, 将数据的值复制了一份进行的传递,所以我们也比较好理解的这种值传递;而对于对象数据类型,因为该对象本身指向的是它在内存中的地址,所以方法调用的时候,实际上是创建的地址的副本,所以在方法中对其值进行改变的时候,他的地址没有变,值也就跟着改变了
相关文章:
通过代码搞明白JAVA中值传递和引用传递
public static void main(String[] args) {Map a new HashMap();a.put("a", 1);System.out.println(a "我在main中的值");aaa(a);System.out.println(a "我在main中的值");bbb(a);System.out.println(a "我在main中的值");int b …...
ambari 开启hdfs回收站机制
hdfs回收站类似于我们常用的windows中的回收站,被删除的文件会被暂时存储于此,和回收站相关的参数有两个: fs.trash.interval:默认值为0 代表禁用回收站,其他值为回收站保存文件时间,单位为分钟 fs.trash…...
服务器数据恢复—服务器重装系统导致逻辑卷发生改变的数据恢复案例
服务器数据恢复环境: 某品牌linux操作系统服务器,服务器中有4块SAS接口硬盘组建一组raid5阵列。服务器中存放的数据有数据库、办公文档、代码文件等。 服务器故障&检测: 服务器在运行过程中突然瘫痪,管理员对服务器进行了重装…...
软件工程之架构设计
从公众号转载,关注微信公众号掌握更多技术动态 --------------------------------------------------------------- 一、架构设计的目的 1.什么是复杂的软件项目 复杂的软件项目通常有两个特点: 需求不确定 技术复杂 技术的复杂性主要体现在四个方面…...
oracle java.sql.SQLException: Invalid column type: 1111
1.遇到的问题 org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.type.TypeException: Could not set parameters for mapping: ParameterMapping{propertyuuid, modeIN, javaTypeclass java.lang.String, jdbcTypenull, numericScalenull, r…...
Mac 浏览器下载的文件名总是「乱码」
如果可以实现记得点赞分享,谢谢老铁~ 本文所说的方法是在出现文件名乱码情况下,如何恢复文件名的正确中文名称,并非一劳永逸地避免乱码的出现。这是由于下载文件名称乱码的出现,往往是系统、浏览器、网站三方面因素共…...
Redis Reactor事件驱动模型源码
前置学习:Redis server启动源码-CSDN博客 1、Redis服务器启动的时候就会就一直在轮询。 // 运行事件处理器,一直到服务器关闭为止 aeSetBeforeSleepProc(server.el,beforeSleep); aeMain(server.el);// 服务器关闭,停止事件循环 aeDeleteEven…...
cv2.error: OpenCV(4.7.0)
运行hsv脚本报错: cv2.error: OpenCV(4.7.0) D:\a\opencv-python\opencv-python\opencv\modules\imgproc\src\color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function cv::cvtColor 解决方案: 这个错误信息是在使用OpenCV的cvtColor函…...
10.vue3项目(十):spu管理页面的sku的新增和修改
目录 一、sku静态页面的搭建 1.思路分析 2.代码实现 3.效果展示...
Java LeetCode篇-深入了解二叉树经典解法(三种方式实现:获取二叉树的最大深度)
🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 对称二叉树 1.1 判断对称二叉树实现思路 1.2 代码实现:判断对称二叉树 2.0 二叉树的最大深度 2.1 使用递归实现获取二叉树的最大深度思路 2.2 代码实…...
Image Segmentation Using Deep Learning: A Survey
论文标题:Image Segmentation Using Deep Learning:A Survey作者:发表日期:阅读日期 :研究背景:scene understanding,medical image analysis, robotic perception, video surveillance, augmented reality, and image…...
可视化开源编辑器Swagger Editor本地部署并实现远程访问管理编辑文档
最近,我发现了一个超级强大的人工智能学习网站。它以通俗易懂的方式呈现复杂的概念,而且内容风趣幽默。我觉得它对大家可能会有所帮助,所以我在此分享。点击这里跳转到网站。 文章目录 Swagger Editor本地接口文档公网远程访问1. 部署Swagge…...
Java TCP协议实现一对一聊天与UDP协议实现群聊案例
JavaTCP协议实现一对一聊天与UDP协议实现群聊案例 1.TCP协议实现一对一聊天 1.1服务端运行结果 1.2客服端运行结果 1.3代码汇总 服务端 package twentyone;import java.io.IOException; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.…...
【从0配置JAVA项目相关环境1】jdk + VSCode运行java + mysql + Navicat + 数据库本地化 + 启动java项目
从0配置JAVA项目相关环境 写在最前面一、安装Java的jdk环境1. 下载jdk2. 配置jdk3. 配置环境变量 二、在vscode中配置java运行环境1. 下载VSCode2. 下载并运行「Java Extension Pack」 三、安装mysql1.官网下载MySQL2.开始安装如果没有跳过安装成功 3.配置MySQL Server4.环境变…...
人工智能_机器学习053_支持向量机SVM目标函数推导_SVM条件_公式推导过程---人工智能工作笔记0093
然后我们再来看一下支持向量机SVM的公式推导情况 来看一下支持向量机是如何把现实问题转换成数学问题的. 首先我们来看这里的方程比如说,中间的黑线我们叫做l2 那么上边界线我们叫l1 下边界线叫做l3 如果我们假设l2的方程是上面这个方程WT.x+b = 0 那么这里 我们只要确定w和…...
二叉树的前、中和后序遍历的递归与迭代实现
1. 前序遍历 1.1 递归 /*** Definition for a binary tree node.* function TreeNode(val, left, right) {* this.val (valundefined ? 0 : val)* this.left (leftundefined ? null : left)* this.right (rightundefined ? null : right)* }*/ /*** param …...
人体姿态估计算法
人体姿态估计算法 1 什么是人体姿态估计2 基于经典传统和基于深度学习的方法2.1 基于经典传统的人体姿态估计算法2.2 基于深度学习的人体姿态估计算法OpenPoseAlphaPose (RMPE) 3 算法应用4 Paper 人体姿态估计在现实中的应用场景很丰富,如下 动作捕捉:三…...
docker部署jupyter
文章目录 1.搜索镜像2.拉取镜像3.创建挂载4.运行容器4.查看容器运行运行状态5.token查看6.访问jupyter 1.搜索镜像 docker search jupyter: 命令用于在 Docker Hub 上搜索名为 “jupyter” 的镜像。搜索结果显示了一个名为 “jupyter/datascience-notebook” 的镜像࿰…...
音视频的功耗优化
前言 在应用中,录制与音视频模块往往是高耗能的模块,设备容易发热,影响体验。 什么是功耗优化 手机有多个耗电模块, SOC(CPU,GPU,DDR),Display,Audio,Video࿰…...
Python实现FA萤火虫优化算法优化XGBoost回归模型(XGBRegressor算法)项目实战
说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 萤火虫算法(Fire-fly algorithm,FA)由剑桥大学Yang于2009年提出 , …...
MRIcroGL深度指南:医学影像三维可视化的终极开源解决方案
MRIcroGL深度指南:医学影像三维可视化的终极开源解决方案 【免费下载链接】MRIcroGL v1.2 GLSL volume rendering. Able to view NIfTI, DICOM, MGH, MHD, NRRD, AFNI format images. 项目地址: https://gitcode.com/gh_mirrors/mr/MRIcroGL MRIcroGL是一款专…...
中文大语言模型智能路由:统一接口调度多模型,实现降本增效
1. 项目概述:一个中文大语言模型路由器的诞生最近在折腾大语言模型应用开发的朋友,估计都遇到过这个头疼的问题:手头有好几个模型,比如智谱的GLM、百度的文心、阿里的通义,还有一堆开源的,每个模型都有自己…...
So-Bridge:轻量级跨语言进程通信库的设计与实践
1. 项目概述:一个连接不同世界的“桥梁” 最近在折腾一些自动化脚本和数据处理流程时,我遇到了一个挺典型的问题:手头的工具和系统五花八门,有的用Python写,有的依赖Node.js环境,还有的干脆是独立的可执行文…...
Shannon 没有想到的事——当信息论遇上有限算力
从一个日常经验开始你有没有过这种体验——打开一本教科书,前三页还能跟上,到第四页突然看不懂了。每个字你都认识,但连在一起就变成了噪音。你翻回去重读,还是不行。于是你合上书,换了一本"入门版"…...
无线TDoA定位中的硬件偏差问题与DTB校准方法
1. 无线TDoA定位中的硬件偏差问题解析在无线定位领域,时间差到达(Time Difference of Arrival, TDoA)技术因其能够消除接收机时钟偏差而备受青睐。然而,这项技术在实际应用中面临一个关键挑战:节点硬件引入的系统性偏差…...
实测Taotoken多模型聚合服务的响应延迟与稳定性观感
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 实测Taotoken多模型聚合服务的响应延迟与稳定性观感 1. 引言 在将大模型能力集成到实际应用的过程中,开发者除了关注模…...
AutoHotkey v2脚本实现CapsLock长按触发AI编程助手,提升Cursor编辑器效率
1. 项目概述:当CapsLock键成为你的AI编程副驾 作为一名在Windows平台上折腾了十几年效率工具的老码农,我见过太多“快捷键增强”工具,它们要么功能繁杂到记不住,要么侵入性太强干扰正常输入。直到我遇到了“牛马”(nm…...
极域电子教室破解终极指南:如何快速解除课堂控制实现学习自由
极域电子教室破解终极指南:如何快速解除课堂控制实现学习自由 【免费下载链接】JiYuTrainer 极域电子教室防控制软件, StudenMain.exe 破解 项目地址: https://gitcode.com/gh_mirrors/ji/JiYuTrainer 还在为极域电子教室的全屏控制而烦恼吗?你是…...
智能体驱动的学术论文自动化展示系统:从PDF到交互式网站与视频
1. 项目概述:从静态PDF到动态学术门户的智能跃迁如果你是一名研究者,或者经常需要阅读学术论文,你一定有过这样的体验:面对一篇动辄几十页、充满复杂公式和图表的PDF文档,想要快速抓住其核心创新点、理解方法细节、甚至…...
Java统一AI SDK实战:集成OpenAI、Claude、Gemini多模型API
1. 项目概述与核心价值 最近在折腾一个需要集成多个大模型API的Java项目,从OpenAI到Claude再到Google Gemini,每个厂商的SDK调用方式、请求体结构、错误处理都不太一样,光是写适配代码就够喝一壶的。更别提还要处理流式响应、文件上传、Func…...
