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

设计商城的网站建设全球搜索大全

设计商城的网站建设,全球搜索大全,银州铁岭做网站,做旅游的网站那个便宜看了半天帖子,讲得乱七八糟,坑死了 [1] 先说结论 基本类型、包装类型、String类型作为参数传递之后,在方法里面修改他们的值,原值不会改变!引用类型不一定,要看是怎么修改它的。 [2] 为什么基本类型、包装类…

看了半天帖子,讲得乱七八糟,坑死了

[1] 先说结论

  基本类型、包装类型、String类型作为参数传递之后,在方法里面修改他们的值,原值不会改变!引用类型不一定,要看是怎么修改它的。

[2] 为什么基本类型、包装类型、String类型传参之后原值不会变?

[2.1] 基本类型:

  通常情况下,Java 基本数据类型变量在 JVM 中的存储方式是将其存储在栈(Stack)中。

  栈用于存储方法执行时的局部变量、操作数栈和方法返回值等。

  当程序运行到一个方法时,JVM 会为该方法创建一个栈帧(Stack Frame),并将该栈帧压入栈顶。栈帧中会包含该方法的局部变量表(Local Variable Table)、操作数栈(Operand Stack)等信息。

  在局部变量表中,JVM 会为每个基本数据类型变量分配一定的存储空间,并将其存储在栈帧中。例如,一个 int 类型的变量需要 4 个字节的存储空间,JVM 会在局部变量表中分配 4 个字节的空间,并将其用于存储该变量的值。类似地,其他基本数据类型变量在局部变量表中也会分配相应大小的存储空间。


  当基本类型变量作为形参传递给方法时,发生了以下步骤:

  1、在调用方法时,将实参的值复制一份,传递给形参。这意味着,在方法中对形参的任何修改都不会影响到实参本身。

  2、在方法内部,使用形参来进行计算或操作。

  3、当方法执行完毕并返回时,会将方法返回值压入栈中,同时将栈帧出栈,方法的局部变量表也随之销毁。因此,形参也随之销毁,其存储的值也就被销毁了。


[2.2] 包装类型、String类型:

  首先要明确,包装类型、String类型都是引用类型。

  Java 中的引用类型变量在 JVM 中的存储方式与基本数据类型变量有所不同。引用类型变量存储的是一个指向对象在堆中存储空间的地址,而不是对象本身。因此,引用类型变量的大小是固定的,不受引用对象大小的影响。

  具体来说,引用类型变量在栈中分配一个固定大小的存储空间,用于存储指向堆中对象的地址。当创建一个对象时,JVM 会在堆中分配一段连续的存储空间,用于存储对象的实例变量、类信息等。对象在堆中的存储位置由 JVM 管理,并由引用类型变量记录。

  当引用类型变量被赋值为 null 时,表示该变量不再指向任何对象。如果该引用类型变量没有被使用,那么在垃圾回收器执行垃圾回收时,该对象会被回收,其在堆中占用的存储空间会被释放。


  由于String类和包装类都被设定成不可变的,没有提供value对应的setter方法,而且很多都是final的,我们无法改变其内容,所以其值不变,导致我们看起来好像是值传递(即没有影响原来的值)。

在这里插入图片描述
在这里插入图片描述


[3] 为什么引用类型传参之后原值可能会变?

  引用传递的是一个引用、这个引用存放的是参数的地址的值,如果在函数中没有改变这个参数的引用地址(没有new一个新的地址—这也叫做浅拷贝),那么就会改变原来的值,影响到传入的参数。(比如数组、集合就是很明显的例子);如果在函数中改变了参数的引用地址,也就是new了一个,那就不会改变参数的值了,这也叫做深拷贝。

  例如:

@Test
public void main() {User u1 = new User();User u2 = new User();changeValue(u1, u2);System.out.println(u1+"\n"+u2);}public void changeValue(User u1,User u2) {u1.setUid((long) 1111);u2 = new User();u2.setUid((long) 1111);}
//User(uid=1111, uname=null, uimg=null, utel=null, upwd=null, iden=null, umeto=null, loginIp=null, loginDate=null)
//User(uid=null, uname=null, uimg=null, utel=null, upwd=null, iden=null, umeto=null, loginIp=null, loginDate=null)
http://www.dinnco.com/news/80172.html

相关文章:

  • 自己做导航网站东莞搜索引擎推广
  • 广州做网站新锐搜索引擎优化分析
  • 东莞做网站公司哪家好中小企业网络推广
  • 那种软件可以做视频网站无限制搜索引擎排名
  • 网站建设价格方案厦门seo全网营销
  • 范文网站学校技防 物防建设百度写作助手
  • 做网站的广告语怎样建立自己网站
  • 哪个网站上做自媒体最好手机百度登录入口
  • 上海工程建设信息网站内容营销
  • 网页开发用到的技术中山口碑seo推广
  • redbubble网站开发媒体:北京不再公布疫情数据
  • 下列不属于网站建设规划优化课程
  • 北京网站建设著名公司百度关键词搜索趋势
  • 微信连接微网站外链发布平台有哪些
  • 李氏牛仔网站建设风格app拉新推广平台有哪些
  • 10个著名摄影网站关键词排名手机优化软件
  • 免费网页奖励自己游戏网站百度网站官网入口网址
  • 网站主体负责人 法人百家号关键词seo优化
  • 网业制作过程搜索引擎优化seo什么意思
  • 怎么在网站里做网页搜索到的相关信息
  • 南阳做网站的公司seo数据分析哪些方面
  • 青海网站维护做网站推广的公司
  • 建设实验教学网站的作用内容营销策略有哪些
  • 无限流量网站建设360营销平台
  • 长沙设计网站效果独立站谷歌seo
  • 个人软件制作网站源码杭州seo网站优化
  • 湖州公众号开发公司郑州网站运营实力乐云seo
  • 设计网站特点女教师遭网课入侵直播录屏曝光视频
  • 上海手机网站开发价格网络营销的认知
  • 卡一卡二卡四卡视频免费观看网络seo推广