[TIL]再試行main()メソッド:メソッドスタックフレーム


※本書は、以下の書籍を学習して整理したものです.
📚 Javaオブジェクト向けSpringの入門原理を理解する

プログラムのメモリ使用方法



オブジェクト向けプログラムのメモリ使用方法



オブジェクト向けのプログラムでは,データ格納領域はstatic,スタック,hipの3つの領域に分けられる.この3つの分野はTメモリ構造と呼ばれている.
静的エリア-クライスの遊園地
スタックエリア-メソッドの遊園地
お尻(Heap)エリア-対象の遊園地として表示されます.

main()メソッド実行時のメモリ(スタック領域、スタック領域、スタック領域)の変化


Study.JAvaファイル

1 public Class Study {
2	public static void main(String[] args){
3		System.out.println(Let’s study hard”);
4	}
5 } 

上、Study。Javaファイルの実行時にTメモリが変化


①JREは、プログラムのmain()メソッドが存在するか否かを判定する
②JRE JVM起動
③起動したJVMはターゲットファイルを受信してターゲットファイルを実行する
④JVMはjavaです.langパッケージを静的領域にインポートする
  • java.langパッケージ(すべてのJavaプログラムを含む必要があります)のシステム.out.println()と同じメソッドが含まれます.
  • ⑤その後、JVMは開発者が作成したすべてのクラスとインポートパッケージを静的領域にインポートする

    ⑥2行目の実行時にmain()メソッドのスタックフレームをスタック領域に割り当てる
  • スタックフレーム(スタックフレーム)カッコに遭遇すると(クライス定義のカッコを除く)
  • が作成される.
    üメソッドパラメータargsの格納変数空間をスタックフレームワークの下部に割り当てる

    System.out.println(“Let’s study hard”);実行
    ⑨閉じた括弧に遭遇するとスタックフレームが消えます

    ümain()メソッドが完了すると、JREはJVMを終了し、JREもオペレーティングシステムのメモリから消えます.
    メモリ(スタック領域、スタック領域、hip領域)も消えます

    🌞 Check it!! 🌞


  • プログラムはメモリを使用するときにコード実行領域とデータ記憶領域になります.

  • Javaは、データストレージ領域を「静的」、「スタック」、「heap」に分割します.

  • プログラムメモリ使用時にコード実行領域とデータ記憶領域を使い分ける->Tメモリ

  • 静的エリア-クライスの遊園地

  • スタックエリア-メソッドの遊園地

  • お尻(Heap)エリア-対象の遊園地として表示されます.

  • すべてのクラスとimportパッケージは静的領域です

  • スタックフレーム(stack frame)左カッコに遭遇したときに作成します(カッコを開くことは含まれません)

  • カッコに遭遇するとスタックフレームは消えます