Вопрос по стеку и объектам в java

114
11 апреля 2021, 10:40

Объекты находятся в куче, методы и локальные переменные в стеке, стек со всеми методами начинает выполняться при создании объекта, значит ли это, что стек и, соответственно методы, находятся внутри объекта, который находится внутри кучи?

Answer 1

В виртуальной машине Java (JVM) модель памяти представлена стеком и кучей. Все объекты где бы и как бы они не создавались хранятся в куче. Следовательно поля объектов хранятся в куче. Локальные же переменные хранятся в стеке, каждый раз при вызове очередного метода, все необходимые локальные переменные (в том числе аргументы функции) заносятся в стек.

Вы же видимо имели ввиду, не хранятся ли локальные переменные метода объекта вместе с самим объектом в куче? Нет, не хранятся.

Несколько пояснений: стек как и куча (в данном контексте) - области хранения, они не выполняются, они просто содержат. Методы не хранятся в стеке. (И в куче тоже. Согласно этому источнику они хранятся во внутренней куче JVM никак не связанной с кучей о которой я писал выше)

READ ALSO
Контролер не изменяет .jsp Spring MVC + Tomcat

Контролер не изменяет .jsp Spring MVC + Tomcat

Контролер возвращает не изменяетjsp файл

102
Неверное сравнение

Неверное сравнение

Есть след код

102
Ошибка в mapDispatchToProps

Ошибка в mapDispatchToProps

Получаю ошибку:

67
Управление jquery value аттрибутом в <option>

Управление jquery value аттрибутом в <option>

ЗдравcтвуйтеЕсть код: http://jsfiddle

106