Код IT
← Каталог

JVM, память и потоки — Куча

Фрагмент из «JVM, память и потоки»: Куча.

Java main.java
public class StackExample {
    public static void main(String[] args) {
        int x = 10;          // примитив в стеке main
        String s = "text";   // ссылка в стеке, объект в куче
        
        compute(5, 3);       // новый фрейм в стеке
    }
    
    static int compute(int a, int b) {
        int result = a * b;  // переменные в стеке compute
        return add(result, 10);
    }
    
    static int add(int x, int y) {
        return x + y;        // фрейм add поверх фрейма compute
    }
}
public class StackExample {
    public static void main(String[] args) {
        int x = 10;          // примитив в стеке main
        String s = "text";   // ссылка в стеке, объект в куче
        
        compute(5, 3);       // новый фрейм в стеке
    }
    
    static int compute(int a, int b) {
        int result = a * b;  // переменные в стеке compute
        return add(result, 10);
    }
    
    static int add(int x, int y) {
        return x + y;        // фрейм add поверх фрейма compute
    }
}