Що таке heap і stack пам’ять в java, програмування на java, android
У Java є такі поняття як Heap і Stack пам'ять. Сьогодні ми дізнаємося різницю між ними і навіщо вони потрібні. Як завжди, спочатку в теорії і потім на практиці розберемо цю складну тему.
Java Heap пам'ять
Java Heap (купа) використовується Java Runtime для виділення пам'яті під об'єкти і JRE класи. Створення нового об'єкта також відбувається в купі. Тут працює збирач сміття: звільняє пам'ять шляхом видалення об'єктів, на які немає жодних посилань. Будь-який об'єкт, створений в купі, має глобальний доступ і на нього можуть посилатися з будь-якої частини програми.
Stack пам'ять в Java
Стекова пам'ять в Java працює за схемою LIFO (Останній-зайшов-Перший-вийшов). Всякий раз, коли викликається метод, в пам'яті стека створюється новий блок, який містить примітиви і посилання на інші об'єкти в методі. Як тільки метод закінчує роботу, блок також перестає використовуватися, тим самим надаючи доступ для наступного методу.
Розмір стековой пам'яті набагато менше обсягу пам'яті в купі.
Давайте розглянемо відмінності стековой пам'яті і купи на прикладі простої програми.
На зображенні нижче представлена пам'ять стека і купи для програми вище

А тепер розглянемо кроки виконання нашої програми:
Різниця між Stack і Heap пам'яттю в Java
На підставі наведених вище пояснень, ми можемо легко підсумувати наступні відмінності між Heap і Stack пам'яттю в Java.
Ось і все, що потрібно знати про Stack і Heap пам'яті в Java. Слідкуйте за оновленнями в розділі Корисне.
Більше корисних статей!
- Сортування масиву в Java

- Приклад сортування за допомогою Java Comparable і Comparator

- Робота з класом Java System (java.lang.System)

- Оператор continue в циклі for, Java

- Пишемо стек на java

- Перерахування в Java. Переваги використання Enum

- Як створити і ініціалізувати List в один рядок на Java

- Клонування об'єктів в Java. Приклад використання методу clone ()

- Як працює статична типізація в Java

- Двовимірні масиви в Java
