存储静态变量和方法。 堆或堆栈以及如何在不使用时释放这些内存静态存储器管理
静态存储器管理
回答
静态变量存储在堆上。我不确定你的方法是什么意思,但是方法的局部变量存储在堆栈中。
退出方法时释放堆栈。当一个方法需要局部变量时,会分配更多的堆栈。当方法退出时,内存被释放。
内存的其余部分放在堆上,例如,与new
运营商。一旦你释放所有对象引用这个被释放:
Car myCar = new Car();
// Use your car.
myCar = null;
// Somewhere between this point and when your application
// exits, the memory will be released.
这同样适用于静态的变量,但如果你想使他们有资格进行垃圾回收,必须专门设置这些来null
。
有关.NET内存管理的更多信息,Google搜索结果http://www.google.com/search?q=memory+management+.net+heap+stack提供了一些不错的文章。
所以假设我们有一个静态密钥工作方法b4它。所以我的意思是这种方法分配堆或堆栈中的内存,如果在一些静态内存然后当我们不使用这种方法如何它的内存被释放这个我想知道 – NoviceToDotNet 2010-10-31 07:54:35
如何一个方法,我可以明确地设置为GC – NoviceToDotNet 2010-10-31 07:55:03
A静态方法只是一种方法。该方法的局部变量只是在堆栈上。静态方法本身不使用内存,只有参数和局部变量都在堆栈中。 – 2010-10-31 07:56:18
This article给出了一个很好的解释:静态变量存储在.net的堆的特殊区域中。
仍然那篇文章缺乏一些点我会列出所有后来什么让我非常困惑 – NoviceToDotNet 2010-10-31 08:17:04
- 1. 存储器管理保留
- 2. 阵列,存储器管理
- 3. iOS内存管理:ivars,静态和NSStrings
- 4. 管理静态数据
- 5. Django管理静态资源
- 6. C#静态存储器地址
- 7. 存储静态图像,Blob存储区
- 8. 处理出与静态数组存储器C++
- 9. 静态constexpr成员存储
- 10. JMeter Cookie管理器 - 不存储Cookie?
- 11. 了解iOS存储器管理
- 12. PHP多维数组,存储器管理
- 13. uinavigation控制器堆叠存储管理
- 14. 将UUID存储在sqlite管理器中
- 15. Objective-C的存储器管理
- 16. 外部存储器管理和COM
- 17. C++:静态指针,静态对象和动态存储器分配
- 18. Gitolite存储库管理
- 19. 管理本地存储blob
- 20. Java接口...动态或静态存储器?
- 21. django静态文件管理问题
- 22. 在春天管理静态资源mvc
- 23. Django管理静态文件404
- 24. 渲染管理员静态文件 - DJANGO
- 25. 从管理界面管理静态页面
- 26. Objective-C/iPhone内存管理静态变量
- 27. 使用下载管理器将媒体存储在内部存储器中
- 28. Java静态库原语,对象,方法和堆(存储器管理和最佳实践)
- 29. iOS - 缓存图像和管理存储
- 30. C++/CLI围绕C静态库管理的包装器
你能否给我提供一点你想要完成的内容。 – 2010-10-31 07:57:26