针对你的 int a=10来说,如果装箱object b= a , 将a装箱,b引用装箱对象a,也就是a装箱后将引用赋值给b, 这时候CLR将原来存储在栈上的值10直接移至到托管堆上,但是实例引用a继续留在栈上 ,此时会为10 在堆上会分配一块内存,连同10一起存储的还有 对象类型指针、同步快索引,这时候在栈上留有a,b两个实例引用,托管堆上的10的指针同时指向a、b。