Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
2 / 2 / 1
Регистрация: 26.09.2015
Сообщений: 76

Хранение переменных в HEAP (устройство Stack и Heap)

11.04.2019, 13:42. Показов 2035. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. Проблемы с устройством памяти стека и кучи: если я создаю объект vanya класса Person, с приватными переменными int age, high, то правильно я понимаю что стек будет хранить ссылку на объект vanya, и данные int age, high будут храниться там же в куче?
А если потом мы в программе будем обращаться к переменной vanya.age программа ссылку будет передавать вроде бы получается, но по правилам вроде примитивы передаются в java без ссылок. (или эти переменные будут все таки в стеке размещены?) В общем если кто-то знает, помогите пожалуйста разобраться.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.04.2019, 13:42
Ответы с готовыми решениями:

Память Heap и Stack
Здравствуйте , подскажите пожалуйста такой вопрос . Вот есть есть три области памяти Heap,Stack ,PermGen . Вопрос вот в чем . Мы создаем...

Распределение памяти под Stack и Heap
Подскажите пожалуйста, правильно ли я понимаю что при использовании функций malloc или calloc необходимо выделять память именно в куче...

STM32F303 задать размер STACK and HEAP
Проблема в следующем - имеющийся в моем коксе стартовый файл stortup_stm32f30x.S не имеет "доступной для моего уровня владения...

3
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
11.04.2019, 13:44
Лучший ответ Сообщение было отмечено Welemir1 как решение

Решение

все просто, нет никакой необходимости думать, на стеке что-то лежит или на куче, тем более нет никакой необходимости думать про ссылки
1
2 / 2 / 1
Регистрация: 26.09.2015
Сообщений: 76
11.04.2019, 13:45  [ТС]
Да я понимаю что в этом нужды нет, просто мне стало интересно как это происходит, а нигде инфы не могу найти.
0
 Аватар для ArtemFM
746 / 493 / 285
Регистрация: 10.09.2015
Сообщений: 1,530
11.04.2019, 13:54
когда мы создаём объект, то (как я помню):
- ссылка записывается в стек
- сам объект в heap
- переменные из полей класса тоже в heap.

по поводу методов...
они помещаются при вызове в стек в начало очереди (LIFO)
после отработки всё удаляется из очереди
если внутри метода запускается ещё метод, он помещается вверх стека и т.д.
примитивные переменные, созданные там, так же в стеке
цикл тоже считается своего рода методом и помещается в в верх стека
объекты, созданные в методе (ссылка в стеке, сам объект в heap)
но после отработки метода, ссылка уничтожится и следовательно
gc при следующем обходе уничтожит этот объект из Eden Heap
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.04.2019, 13:54
Помогаю со студенческими работами здесь

STACK и HEAP - где лежат значения объектов
Добрый день. Разбираюсь с STACK и HEAP. Объясните где не прав. По умолчанию в STACK помещаются value типы. По умолчанию в...

Почему в Си массив со статическим размером объявленный внутри функции помещается в stack, а не в heap?
Собственно, сабж. Чем было обусловленно такое решение? В джава, например, массив будет создан в хипе сразу и возвратится указатель...

Heap in C++
Можно ли сделать кучу (make_heap) не максимальную, а минимальную?

Heap in C++
Как подключить кучу в C++?

Heap overflows
Всем привет! Помогите пожалуйста с таким вопросом. Я написала так : //digits = X.digits; то есть два указателя ссылаются на один и то...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru