Ответ
Память на стеке — это область памяти, выделяемая для локальных переменных и вызовов методов. Она работает по принципу LIFO (Last In, First Out).
Особенности:
- Быстрое выделение/освобождение (просто сдвиг указателя стека).
- Фиксированный размер (может переполниться, например, при глубокой рекурсии).
- Автоматическое управление (память освобождается при выходе из метода).
Пример:
fun calculateSum(a: Int, b: Int): Int {
val result = a + b // `result` хранится на стеке
return result
}
Что хранится на стеке:
- Примитивы (Int, Boolean и т.д.).
- Ссылки на объекты (сами объекты — в куче).