先说类型:
基本类型:在内存中分别占有固定大小的空间,值保存在栈空间,按值访问。
引用类型:值大小不固定,栈内存存放地址指向内存的对象,按引用访问。
赋值:变量名指向内存中对象。
栈内存中存放的是该对象的访问地址,在堆内存中为这个值分配空间,这个值大小不固定,不能存放在栈中。但是内存地址大小固定,所以将内存地址保存在栈内存。通过栈读取内存地址,在通过地址找到堆中的值,这叫做引用访问。
浅拷贝只复制指向某个对象的引用地址,新旧对象都访问同一块内存。
深拷贝会创建另外一个一模一样的对象,新旧对象不共享内存。
浅拷贝只复制一层对象属性,而深拷贝递归复制所有层级。