Java - JVM 메모리구조

갓김치·2020년 8월 18일
0

자바 객체지향

목록 보기
3/13

JVM메모리구조

Method Area

  • 클래스가 로드되며 클래스변수, 클래스메서드가 같이 생성된다.
  • 메소드는 변수를 이용해서 일을 하기 때문에 로드시 클래스 변수 먼저 그려주는게 좋다.

Call Stack

  • 메서드가 호출되었을 때 실행되는 영역

Heap Area

  • 인스턴스가 생성되며 인스턴스변수, 인스턴스메서드가 같이 생성된다.

그리는 방법

  • 콜스택에 메소드 호출시 인자값같이 넣어주기
  • 클래스에 클래스변수,클래스메소드 로드시 메소드 안에 매개변수 타입과 갯수 적어주기
  • 메소드 호출되면 메소드에어리어에 그 메소드에 별 표시하기
  • 콜스택 메인()안에 반환값 받을 매개변수 잘 표시하기
  • return 있으면 메소드 중괄호 닫힐때까지 안가고 반환값 돌려주고 바로 종료됨
  • 콜스택 메소드 안에 매개변수를 인자값으로 초기화해주는것 잊지말기
  • 예)
int add3(int c){
	int result = this.c + c;
	return result;
}

이렇게있으면 콜스택 add3()안에 c=(인자값)으로 초기화 후 result=~~ 이렇게

  • 대입연산자가 있으니 왼쪽부터
    • 왼쪽: Data클래스 타입의 지역변수 d1이 main()안에 선언됨
    • 오른쪽: new 연산자에 의해 Heap 영역에 Data클래스의 인스턴스가 생성됨 -> 인스턴스변수와 인스턴스메서드가 자동로드
    • 대입연산자: 참조변수에 대입됨
profile
갈 길이 멀다

0개의 댓글