유블로그

[Java] Java와 Memory 본문

Java

[Java] Java와 Memory

yujeong kang 2020. 7. 25. 23:16
  • Method Area(class area) : 클래스 자체의 정보를 담는 곳. static 변수/함수, method 관련 정보 등이 들어간다.
  • Heap : 참조형 변수들, 가변적 데이터들이 활용하는 공간이다.
  • Stack : method call 단위로 만들어지고 사라진다. 

ex1)

public static void main(String[] args) {
		int [][] arr = new int[3][3];
}

메모리 형태

ex2)

public class Singer {
	String name;
	int age;
	String genre;
	
	Singer(){}
	
	public static void main(String[] args) {
		Singer s1 = new Singer();
		Singer s2 = new Singer();
		
	}
}

메모리 형태

ex3)

public static void main(String[] args) {
		String[] a = new String[2];
		a[0] = "aaa";
		a[1] = new String("aaa");
}

String 은 string constant table 이 존재하여 재사용된다.

메모리 형태