装箱和拆箱

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

装箱,是把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

 

 

相关文章
相关标签/搜索