java中的内存地址 我菜鸟刚学 - Java / Java SE
比如说一个person类;
person p=new person();
此时在栈空间和堆空间各开辟了一块内存;
变量p中存放的是他所指向的相应堆内存的地址,也就是说p的值是一个地址,可以求出;
但是如果想知道p本身所代表的栈内存的地址应该怎么求?
java中没有引用传递,C++中有,谁来告诉我一下什么是引用传递?是不是方法中的形参引用的是p所代表的栈内存的地址?
就是封装了的指针
java没有引用传递这是James Gosling那帮人的设计选择。
一些内存方面的问题,初学java 还是不要过度关注了,坏处多于好处。
Java所谓的引用传递 可以简单的理解为 传递的是内存地址
意思就是 传递的是对象的地址 ,我们去修改这个对象,实际上是修改的内存地址中的内容
内存地址中的内容变化,所有指向该内存地址的变量的值都相应改变~~~
甚至可以简单的理解为:引用传递就是 给一个内存地址起了2个名字, 一个是参数的名字 ,一个就是传递进来的原来变量的名字~
java不是C++
坏处多于好处,这啥意思,大爷解释一下
LZ要习惯用java的思维去思考
每天回帖即可获得10分可用分
说好听的精益求精,说不好就是钻牛角尖
java开发最好不要想着c++的指针 java中的引用都是通过对象来实现 把指封装起来了 开发者不需要考虑指针的移向问题!
java中是通过 “值” 来拷贝或传递引用
引用的“值”的内容应该是代表了堆内存的地址
看这个例子:
Java code
相关问答:
为什么HTML以及一些其它标签会显示一些特定表现形式呢?如HTML中的换行标签<BR/>在底层是怎样实现的呢?现实的原理是什么呢
去W3C官方网站上,看看吧!我想一看你就明白了
我猜和编译原理有关,浏览器里可 ......
使用java在windows7 32位下连接MSSQL。
两台机器,windows7 32位,在控制面板里面全部设置语言和区域选项都english-unitedstates
唯一区别只有在安装SQL server 2008的时候 选择的字符集不一样,
exec sp_helpsor ......
insert into [ScholarshipManagement].[dbo].[department] ([department],[specialization] ,[grade]) output inserted.departmentID values(? ,? ,? )
请问大哥们这个sql 语句应该用Java里的那个数据库操作方法? ......
id name datetime
1 a 2010-05-13 10:15:00
2 b 2010-05-14 09:10:00
3 d 2010-05-14 10:10:00
如何将距离目前最近的那个记录的name 更新为“x”呢
谢谢咯 啊 呵呵
update table_n ......
分别集合类框架中的Comparable接口和Comparator接口及相关类,实现运动员成绩信息的排序。要求:
(1)分别实现Comparable接口和Comparator接口,利用TreeSet、SortedList类的对象进行排序;
(2)利用Collections ......