참조값은 주소값이 아님
참조값 -> 주소값 -> 실제값 (GC 때문에 주소값이 계속 바뀔 수 있기 때문에 참조값을 가져온다)heap 영역
new(young) new(young) old1. 처음 만들어진 것들 -> 2. 버리면 안될 것들
3. 다 지움
<- 4. 처음 만들어진 것들
5. 버리면 안될 것들
6. 버리면 안될것들 중에
계속 유지되었던 것
1~5 마이너 GC
old가 꽉차면 정리함 메인GC
JVM-------------
메소드 - 스텍 - heap
스테틱 객체1 -> 객체 변수
객체2 -> 객체 변수
str="asd" str2=new String("asd")
(객체 참조값 또는 값 저장) (실제 객체)
stack method heap
쓰레드 당 다른 클레스(실행 될)
스텍 하나 (메모리에 클래스 정보 올림)
stack method heap
쓰레드 당 다른 클레스(실행 될)
스텍 하나 (메모리에 클래스 정보 올림)
(p1 참조값) person 클래스 올림 p1 객체 생성
(p2 참조값) x p2 객체 생성
this (현재 실행시키는
객체의 참조값)
p1.printInfo() 클래스 정보에서 메소드 실행 -> 지역변수 name, age를 찾음 없으면-> this로 현재 객체의 참조값 가져옮
(p2 참조값) x p2 객체 생성
this (현재 실행시키는
객체의 참조값)
p1.printInfo() 클래스 정보에서 메소드 실행 -> 지역변수 name, age를 찾음 없으면-> this로 현재 객체의 참조값 가져옮
(객체 단위로 정리)