善于把握细节,或许有新发现
对象的地址和对象的解释
- 举例 : 类 A 对象a
- 操作:
A a=new A();
- 解释:
-
存储的是a
类型的对象引用。A
-
存储在栈中,保存的是对应新创建出对象的地址(堆中的地址)。a
-
创建的对象保存在堆中 。new A()
- 通过
可以操作原对象,操作原对象的成员函数和成员变量,这样是修改的原数据 。a
- 如果重复上面的步骤:
a=new A();
此时新的地址赋予a,a存储的地址就是新的,之前的对象还在,但是无法获取到了,在c++ 中就是属于野指针,因为使用完成并没有释放内存,
在java中有gc管理内存,所以这个没有被引用的资源会在内存不足的时候销毁掉,所以java中可以加强对对象的重用或者不用的时候及时取消引用,
这样会尽快的释放内存,减少内存无谓的占用。
-