Является ли объект, хранящийся в куче, когда он является переменной экземпляра класса, а в стеке - это переменная функции? Это верно?Где хранится экземпляр объекта?
ответ
Ссылки сохраняются в стеке (не во всех случаях, хотя)
Примечание: только для локальных переменных. Например, переменные класса и они являются частью объекта, следовательно, в куче.
Пока объекты хранятся в куче.
- Объекты класса, включая код метода и статические поля: куча.
- Объекты, включая поля экземпляров: куча.
- Локальные переменные и вызовы методов: стек
очень верно..сли значит, все они будут храниться в куче – BlackFire27
Нет. Есть некоторые странности в отношении типов значений (которые все еще являются объектами, но их часто можно найти в стеке). – cHao
Посмотрите, что я обновил ответ ... –
Стек это место памяти, где методы и локальные переменные сохраняются.
Куча - это место памяти, где хранятся объекты и их переменная экземпляра.
Теперь переменные экземпляра представляют собой любые переменные без модификатора поля «static», которые определены внутри тела класса и вне тела метода любого класса.
Переменные экземпляра находятся в области действия до тех пор, пока их охватывающий объект находится в области видимости. Переменная экземпляра является частью объекта, который содержит его, и не может жить независимо от него.
Надеюсь, что это очистит ваши концепции.
Не прояснил мой.Кажется, половина ответа на все, кроме фактического вопроса. – cHao
какая часть не очищается? – Java
Часть, которая была на самом деле в вопросе? : P Вы любили танцевать вокруг и рисовали всевозможные симпатичные точки, но вы действительно не потрудились связать их так, чтобы действительно отвечать на заданный вопрос. – cHao
- 1. Где хранится экземпляр объекта WCF?
- 2. Где хранится экземпляр «IntConverter»?
- 3. Где хранится переменная?
- 4. Где хранится PFFile?
- 5. Где хранится ответ формы?
- 6. Как распечатать экземпляр объекта, который хранится в массиве
- 7. $ routeProvider - где хранится var .when хранится
- 8. Где лучше всего хранить экземпляр объекта ObjectContext?
- 9. Express.js/Passport.js: Где хранится req.user?
- 10. Где хранится информация, отражающая объект?
- 11. где хранится история svn?
- 12. Где хранится выход gluLookAt?
- 13. Где хранится task_struct?
- 14. Где хранится JSESSIONID?
- 15. Где хранится документ EXC_BAD_ACCESS?
- 16. где хранится window.somedata
- 17. Найти, где хранится шрифт
- 18. Где хранится AspnetIdentity UserTokens?
- 19. Grails - Где хранится кэш
- 20. Где хранится Subversion?
- 21. Где хранится список Python?
- 22. Где хранится конфиденциальная информация?
- 23. Где хранится указатель функции?
- 24. Где хранится контекст OpenGL?
- 25. Где хранится BaseX Db?
- 26. Где хранится kSecAttrTokenIDSecureEnclave?
- 27. где хранится защищенная страница?
- 28. Где хранится TempData?
- 29. Где хранится последний голос?
- 30. Где хранится конфигурация мангопай?
Если объект хранится, это деталь реализации. Полагайтесь на это на свой страх и риск. – cHao
@cHao: Действительно. Я не знаю о механизме .Net, но механизм JavaScript V8 для JavaScript (JavaScript, являющийся еще одной средой сбора мусора) достаточно умен, чтобы делать статический анализ кода и определять, где объекты используются когда-либо только в функции, а затем выпущены - и поместите их в стек, чтобы они были возвращены немедленно после возвращения. –