裝箱和拆箱

主要涉及到性能的損失性能

裝箱,是把stack裏面的值類型,變成一個object的實例,放在heap中。而後在stack裏面存儲實例的地址。屬於隱式類型轉換,不丟失精度,可是會損耗性能。spa

拆箱,是把heap裏的實例的數據,搬出來變成值類型,放在stack中,屬於顯式類型的轉換blog

 

int x=100;//下面是內存的狀況,是放在stack中的圖片

object obj;//這邊圖片裏object的數據多了一個字節,很差意思內存

obj=x;//這句話先在Heap裏面開闢一個地址,把stack中的100放進去,而後把地址也就是000000113放入原來obj引用參數的內存中,裝箱完成。bfc

int y=(int)obj;//拆箱把heap中的值按照要求也就是int 又搬到了stack中object

 

 

相關文章
相關標籤/搜索