易截截图软件、单文件、免安装、纯绿色、仅160KB

java中的内存地址 我菜鸟刚学 - Java / Java SE

比如说一个person类;
person p=new person();
此时在栈空间和堆空间各开辟了一块内存;
变量p中存放的是他所指向的相应堆内存的地址,也就是说p的值是一个地址,可以求出;
但是如果想知道p本身所代表的栈内存的地址应该怎么求? 

java中没有引用传递,C++中有,谁来告诉我一下什么是引用传递?是不是方法中的形参引用的是p所代表的栈内存的地址?

就是封装了的指针

java没有引用传递这是James Gosling那帮人的设计选择。
一些内存方面的问题,初学java 还是不要过度关注了,坏处多于好处。

Java所谓的引用传递 可以简单的理解为 传递的是内存地址 
意思就是 传递的是对象的地址 ,我们去修改这个对象,实际上是修改的内存地址中的内容
内存地址中的内容变化,所有指向该内存地址的变量的值都相应改变~~~

甚至可以简单的理解为:引用传递就是 给一个内存地址起了2个名字, 一个是参数的名字 ,一个就是传递进来的原来变量的名字~

引用
java没有引用传递这是James Gosling那帮人的设计选择。
一些内存方面的问题,初学java 还是不要过度关注了,坏处多于好处。

java不是C++

坏处多于好处,这啥意思,大爷解释一下

LZ要习惯用java的思维去思考

每天回帖即可获得10分可用分

说好听的精益求精,说不好就是钻牛角尖

java开发最好不要想着c++的指针 java中的引用都是通过对象来实现 把指封装起来了 开发者不需要考虑指针的移向问题!

java中是通过 “值” 来拷贝或传递引用
引用的“值”的内容应该是代表了堆内存的地址

看这个例子:
Java code




相关问答:

java swing 程序如何打包 - Java / Java相关

java swing 程序如何打包成jar,然后可以通过批处理文件bat直接运行,有没有什么工具直接可以完成这两个工作?
用jar打包,把运行需要的jar拷贝到一个目录,批处理用 start javaw -cp .;其他包路径 运行

用zip ......

java synchronized - Java / Java SE

Java code:

......
synchronized(user){
int loginNum = Integer.parseInt(Main_Client_Dia.jtf2.getText().trim());
Main_Client_Dia.jtf2.setText("");
loginNum++;
......

jsp文件到底要不要加No-cache - Java / Web 开发

用Struts2+Spring+Hibernate做的一个web的ERP小项目,总部一台服务器(数据库与Web服务器在同一机子上)是单独拨号上网的,与分公司没有用局域网线,硬件太贵了,其他几个省市分公司都来访问这一服务器,感觉后台代 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号