Где хранится экземпляр объекта? - PullRequest
0 голосов
/ 27 февраля 2012

Хранится ли объект в куче, когда он является переменной экземпляра класса, и в стеке, когда это переменная функции? Это правильно?

Ответы [ 2 ]

2 голосов
/ 27 февраля 2012

Стек - это место в памяти, где хранятся методы и локальные переменные.

Куча - это место в памяти, где хранятся объекты и переменная его экземпляра.

Теперь переменные экземпляра - это любые переменные без модификатора «статического» поля, которые определены в теле класса и вне его.тело методов любого класса.

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

Надеюсь, что это очистит ваши концепции.

0 голосов
/ 27 февраля 2012

Ссылки хранятся в стеке (хотя и не во всех случаях)

Примечание: Только для локальных переменных.Для переменных экземпляра и класса они являются частью объекта, следовательно, в куче.

Пока объекты хранятся в куче.

  • Объекты класса, включая код метода и статические поля: heap.
  • Объекты, включая поля экземпляра: heap.
  • Локальные переменные и вызовы методов: stack
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...