内存管理总结
簡單的總結? 或許對初學者有用? 主要自己做個備份
一 創建
1 值類型的創建
?? 在棧上分配內存,存儲其數據成員。 如果是值類型, 直接存放在棧上;如果數據成員是引用類型,則在堆上存放該成員,棧上存放堆中該成員的地址。
2 引用類型創建( ObjectA a = new ObjectA () )
?? 在棧上分配內存,保存變量a, 在堆上分配空間保存數據成員, 同時把堆的相應地址賦給棧上的變量; 不管成員是引用類型還是值類型都存放在堆上。
二 銷毀
1 棧上的對象
?? 直接銷毀
2 堆上的對象
?? .NET垃圾回收機制: 如果對象被其他對象引用,該對象不會被銷毀, 當不再被其他對象引用時,垃圾回收器會將其回收銷毀。
?? 如果被銷毀的對象引用著其他對象,如果這些對象還被其他對象引用著,那么這些對象不會被回收,否則,這些對象也會被回收。
轉載于:https://www.cnblogs.com/cunhaowang/archive/2009/09/22/1571781.html
總結
- 上一篇: www.javaei.com网站建设手记
- 下一篇: 强烈推荐——微软一站式开发技术框架 Al