呼び出しスタック(呼び出しスタック)


この文章は『javaの定式基礎編』に基づいて書かれた.

コールスタックとは?


複数の関数を呼び出すスクリプトでその場所を追跡する企業のメカニズム.メソッドの操作に必要なメモリ領域を提供します.

HOW IT WORKS

class ExampleCallStack {
    public static void main(String[] args) {
        System.out.println("Hello");
    }
}
このようなコードがあると仮定します.結果はもちろんコンソールウィンドウにHelloが印刷されることはよく知られています.
メソッドを呼び出すと、メソッドが操作を実行するときの領域変数(パラメータを含む)と演算の中間結果を格納するための呼び出しスタック内のメソッドにメモリが割り当てられます.また、メソッドが完了すると、割り当てられたメモリ領域が返され、空になります.

Javaの定式化では、上記の図を見ると、このコードに基づいて呼び出しスタックを理解するのが最も簡単なので、この部分を1番から5番に説明します.
1-2:まずサンプルコードを回し、JVMはメインメソッドを呼び出してプログラムを起動する.このとき、呼び出しスタックはメインメソッドにメモリ領域を割り当て、メインメソッドのコードの実行を開始します.
3:プライマリメソッドでprintln()を呼び出します.主な方法はまだ終わっていません!!!プライマリメソッドは呼び出しスタックで待機状態にあり、println()が実行を開始します.printlnメソッドでHelloを画面に出力😎
4:println()の実行が完了し、呼び出しスタックから消え、自分のプライマリメソッドを呼び出し、待機しているプライマリメソッドはprintln()を呼び出した後に実行を開始します.
5:メインメソッドに実行可能なコードがないため、終了し、呼び出しスタックが完全に空になり、プログラムが終了します.