где хранятся статические переменные и методы. в куче или стеке и как эти воспоминания освобождаются, когда они не используютсяУправление памятью для статического
ответ
Статические переменные хранятся в куче. Я не уверен, что вы подразумеваете под методами, но локальные переменные для метода хранятся в стеке.
Стек выдается при выходе из метода. Когда методу нужны локальные переменные, выделяется больше стека. Когда метод выходит, память освобождается.
Остальная часть памяти сохраняется в куче, например. с оператором 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 it. поэтому я имею в виду, где этот метод выделяет память в куче или стеке, а если в какой-то статической памяти, то, когда мы не используем этот метод, как его память освобождается, я должен знать – NoviceToDotNet
Как метод, который я могу установить явно для GC – NoviceToDotNet
A статический метод - это всего лишь метод. Локальные переменные для этого метода просто входят в стек. Сам статический метод не использует память, а только его параметры и локальные переменные, которые все идут в стек. –
This article дает хорошее объяснение: статические переменные хранятся в специальной области кучи в .net.
все еще эта статья не хватает в некоторых точках, я перечислю все позже, что заставляет меня очень конфликтовать – NoviceToDotNet
- 1. Управление памятью для класса
- 2. Управление памятью для NSURLConnection
- 3. Управление флеш-памятью SoundChannel и управление памятью
- 4. Управление памятью для приложений с интенсивной памятью
- 5. Управление памятью
- 6. Управление памятью
- 7. Управление памятью
- 8. Управление памятью
- 9. Управление памятью
- 10. Управление памятью
- 11. Управление памятью по статическому классу
- 12. Управление памятью с флэш-памятью
- 13. Управление памятью для одной строки
- 14. Управление памятью для пользовательского интерфейса
- 15. Оптимальное управление памятью для NSMutableArrays
- 16. Управление памятью для скриптов python
- 17. Управление памятью для экземпляра класса
- 18. Управление памятью Android для фотогалереи
- 19. Управление памятью для исключения гаусса
- 20. Управление интерфейсом и управление памятью
- 21. Управление памятью таймера
- 22. ОС - управление памятью - paging
- 23. Управление памятью по запросу
- 24. Управление памятью IPad
- 25. Управление памятью массива Fortran
- 26. Управление памятью MSXML
- 27. Управление памятью потоков ConcurrentHashMap
- 28. Управление памятью в .NET
- 29. Управление памятью Delphi
- 30. Управление памятью в NodeJs
Не могли бы вы дать немного больше контекста о том, что вы пытаетесь выполнить. –