非泛型集合(arraylist):乙個集合可以包含所有object型別的資料,但是會進行繁瑣的裝箱和拆箱操作,效能有所損失
泛型集合(list):乙個列表只包含一種型別的資料,但是不存在裝箱和拆箱,建議使用。
堆和棧
gc**一般發生在記憶體不夠用時,否則不會發生除非手動呼叫,gc將停止所有執行中的執行緒,完全停止。
引用型別永遠儲存在堆上,值型別取決於宣告的位置
值型別和引用型別在內容更改時處理方式不同,值型別實行內容拷貝,引用型別始終更改所引用的內容
函式體儲存在堆上
棧具有自我維護性,執行完語句之後會馬上釋放不會造成資源洩漏,對則需要gc進行**,很多堆上的內容在程式推出前都沒有被**,很有可能是無意中還保留著內容的引用所致,這將嚴重影響效能。
乙個物件的引用在記憶體中佔了四個位元組
arm中的幾個公式的比較
串列埠 uart0.ubrdivo 0x4d 設定波特率 12000000 9600 16 1 77化為16進製制就是4d adc ad converter freq 50mhz 49 1 1mhz,adc.adccon 0x1 14 0x13 6 0x1 1 此處的0x13 6就是份數49.res...
C 中幾個比較不常用的關鍵字
mutable關鍵字 關鍵字mutable是c 中乙個不常用的關鍵字,他只能用於類的非靜態和非常量資料成員 我們知道乙個物件的狀態由該物件的非靜態資料成員決定,所以隨著資料成員的改變,對像的狀態也會隨之發生變化 如果乙個類的成員函式被宣告為const型別,表示該函式不會改變物件的狀態,也就是 該函式...
C 中幾個比較不常用的關鍵字
關鍵字mutable是c 中乙個不常用的關鍵字,他只能用於類的非靜態和非常量資料成員 我們知道乙個物件的狀態由該物件的非靜態資料成員決定,所以隨著資料成員的改變,對像的狀態也會隨之發生變化 如果乙個類的成員函式被宣告為const型別,表示該函式不會改變物件的狀態,也就是 該函式不會修改類的非靜態資料...