オブジェクトvsクラス(メモリビュー)


Javaメモリ構造(ベース)


メソッド領域(クラス領域)

  • クラスの情報とクラス変数記憶領域
  • JVMにJavaプログラムをロードすると、Javaコンパイラによってバイトコードに変換されます.クラスファイルは、JVMのクラスローダによって読み込まれ、メソッド領域に保存されます.
  • スタック領域

  • メソッドが呼び出されると、スタックフレームの領域
  • が格納される.
  • パラメータ(Arguments)領域変数(localvariable)等が当該領域メモリに記憶する
  • .
  • スタックフレームは、呼び出しメソッドのパラメータ、領域変数、および戻りアドレス値(Callerメソッドのアドレスを返す)を格納する構造
  • である.

    臀部領域

  • すべてのインスタンス変数のメモリを格納領域
  • インスタンスを作成すると、作成するオブジェクト情報を格納領域
  • が格納される.
  • インスタンス変数を使用するには、オブジェクトを作成する必要があります.したがって、
  • class test{
    	AnotherClass anotherClass; //얘는..?
        public void doSomething(){
            ...
        }
    }
    
    class Main{
    	public static main(String[] args){
        	new Test(); //이때 Test객체는 힙으로 올라감
        }
    }
    

    インスタンス変数

  • インスタンス変数