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
相关问答:
当知道一个日期,如何把这个日期所在旬的前后两个日期取出
比如输入20090905,就输入20090901 20090910
输出20090901 20090910
取得天数后作一下判断再把这个方法用下void set(int field, int value)
......
为什么HTML以及一些其它标签会显示一些特定表现形式呢?如HTML中的换行标签<BR/>在底层是怎样实现的呢?现实的原理是什么呢
去W3C官方网站上,看看吧!我想一看你就明白了
我猜和编译原理有关,浏览器里可 ......
java swing 程序如何打包成jar,然后可以通过批处理文件bat直接运行,有没有什么工具直接可以完成这两个工作?
用jar打包,把运行需要的jar拷贝到一个目录,批处理用 start javaw -cp .;其他包路径 运行
用zip ......
如: @superwaring("unchecked");
这个里面都可以取哪些值啊,还有类似的 @superwaring标签有哪些啊
没用过。。
看jee的api
javax.persistence里
@superwaring("unchecked");只是忽略 ......
分别集合类框架中的Comparable接口和Comparator接口及相关类,实现运动员成绩信息的排序。要求:
(1)分别实现Comparable接口和Comparator接口,利用TreeSet、SortedList类的对象进行排序;
(2)利用Collections ......