stack:是自動分配變數,以及函式呼叫的時候所使用的一些空間。位址是由高向低減少的。為自動分配的記憶體空間,它由系統自動釋放
基本(原始)資料型別:string, null,undefined,number,boole
引用資料型別:object
原始型別(基本型別)(存放在棧中):按值訪問,可以操作儲存在變數中實際的值。原始型別彙總中null和undefined比較特殊
擴充套件:引用型別是存放在堆記憶體中的物件,變數其實是儲存的在棧記憶體中的乙個指標(儲存的是堆記憶體中的引用位址),這個指標指向堆記憶體。引用型別資料在棧記憶體中儲存的實際上是物件在堆記憶體中的引用位址。通過這個 引用位址可以快速查詢到儲存中堆記憶體中的物件
自動釋放池
自動釋放池是什麼時候建立的?又是什麼時候銷毀的?原題 思考 1,有返回值的類方法建立出來的物件都是autorelease的。autorelease物件出了作用域後,就會被新增到自動釋放池中。如果largenumber非常大,有可能在乙個for中就把自動釋放池填滿,記憶體消耗非常大!2,解決方案 在f...
自動釋放池
autorelease本質上就是延遲呼叫release方法 autorelease物件什麼時候釋放?引用計數為0的時候才會釋放,不是出了pool就釋放 在一些很消耗記憶體的迴圈呼叫的場景下有時需要手動干預autoreleased物件的釋放時機,不然會導致記憶體暴增,最終導致程式崩潰 nsthread...
自動釋放資源
autocloseable介面,自動關閉資源 我們來模擬傳送訊息介面 1 建立訊息介面,實現autocloseable介面,此介面提供乙個 close 方法,jdk1.7提供 public inte ce imessage extends autocloseable2 實現類 public clas...