善于把握細節,或許有新發現
對象的位址和對象的解釋
- 舉例 : 類 A 對象a
- 操作:
A a=new A();
- 解釋:
-
存儲的是a
類型的對象引用。A
-
存儲在棧中,儲存的是對應新建立出對象的位址(堆中的位址)。a
-
建立的對象儲存在堆中 。new A()
- 通過
可以操作原對象,操作原對象的成員函數和成員變量,這樣是修改的原資料 。a
- 如果重複上面的步驟:
a=new A();
此時新的位址賦予a,a存儲的位址就是新的,之前的對象還在,但是無法擷取到了,在c++ 中就是屬于野指針,因為使用完成并沒有釋放記憶體,
在java中有gc管理記憶體,是以這個沒有被引用的資源會在記憶體不足的時候銷毀掉,是以java中可以加強對對象的重用或者不用的時候及時取消引用,
這樣會盡快的釋放記憶體,減少記憶體無謂的占用。
-