博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java 堆栈 值传递
阅读量:5038 次
发布时间:2019-06-12

本文共 521 字,大约阅读时间需要 1 分钟。

栈:在函数中定义的一些基本类型的变量。和对象的引用变量都在函数的栈内存中分配。当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间。当超过变量的作用域后,Java会自动释放掉为该变量所分配的内存空间。该内存空间可以立即被另作他用。引用变量就相当于是为数组或对象起的一个名称。以后就可以在程序中使用栈中的引用变量来访问堆中的数组或对象。 

堆:堆内存用来存放由new创建的对象和数组。在堆中分配的内存,由Java虚拟机的自动垃圾回收器来管理。 

 

值传递:传递的是值的拷贝。也就是说传递后就不互相关了。 

引用传递:传递的是值的引用。是内存空间的地址。也就是说传递前和传递后都指向同一个引用(也就是同一个内存空间)。 

java中都是值传递基本类型传递值,基本类型作为参数传递时,是传递值的拷贝,无论你怎么改变这个拷贝,原值是不会改变的,Java中对象作为参数传递时,是把对象在内存中的地址拷贝了一份传给了参数 。String, Integer, Double等immutable的类型特殊处理,可以理解为传值,最后的操作不会修改实参对象。

 

转载于:https://www.cnblogs.com/nrev/p/8808683.html

你可能感兴趣的文章
最长英语单词链
查看>>
iOS界面跳转
查看>>
hibernate初学感触
查看>>
【基础】栈和堆的区别
查看>>
棋盘制作
查看>>
global name 'validate_on_submit' is not defined错误
查看>>
叫卖集体土地版“公租房 ” (zz)
查看>>
javascript array操作
查看>>
[AWDwR4] Getting AJAX to work in Rails 3 with jQuery
查看>>
CentOS 安装配置TFTP
查看>>
VMware中ubuntu忘记密码的解决办法
查看>>
navicat for mysql快捷键
查看>>
OI再见
查看>>
自定义单选框或者复选框
查看>>
xml知识点
查看>>
隐式类型转换
查看>>
目前国内几大著名报表软件(2014更新)
查看>>
我想要得那块牌—记烟台大学第一届"ACM讲堂"
查看>>
【LaTeX排版】LaTeX论文模版
查看>>
事务管理
查看>>