2010-10-31 3 views
3

где хранятся статические переменные и методы. в куче или стеке и как эти воспоминания освобождаются, когда они не используютсяУправление памятью для статического

+0

Не могли бы вы дать немного больше контекста о том, что вы пытаетесь выполнить. –

ответ

4

Статические переменные хранятся в куче. Я не уверен, что вы подразумеваете под методами, но локальные переменные для метода хранятся в стеке.

Стек выдается при выходе из метода. Когда методу нужны локальные переменные, выделяется больше стека. Когда метод выходит, память освобождается.

Остальная часть памяти сохраняется в куче, например. с оператором 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 дали несколько приятных статей.

+0

Итак, если мы предположим, что у нас есть метод со статическим ключом b4 it. поэтому я имею в виду, где этот метод выделяет память в куче или стеке, а если в какой-то статической памяти, то, когда мы не используем этот метод, как его память освобождается, я должен знать – NoviceToDotNet

+0

Как метод, который я могу установить явно для GC – NoviceToDotNet

+0

A статический метод - это всего лишь метод. Локальные переменные для этого метода просто входят в стек. Сам статический метод не использует память, а только его параметры и локальные переменные, которые все идут в стек. –

1

This article дает хорошее объяснение: статические переменные хранятся в специальной области кучи в .net.

+0

все еще эта статья не хватает в некоторых точках, я перечислю все позже, что заставляет меня очень конфликтовать – NoviceToDotNet

Смежные вопросы