'java memory'에 해당되는 글 1건

  1. 2016.06.05 Java 메모리 관리(스택프레임) 1
프로그래밍 2016. 6. 5. 17:44
자바 메모리 할당 및 관리에 대하여 궁금하여 몇개의 블로그 및 책을 참조하여 정리해본다.

물론 GC까지 하면 좋겠지만... 그렇지는 않고 언어레벨에서의 컨셉정도로 정리해보고자 한다.

자바의 메모리는 3개의 구역으로 나눠볼 수 있다. 스태틱(메소드), 스택, 힙

정리를 해보면

1. 객체의 인스턴스는 힙 영역에 생성.

2. 로직에 모든 클래스와 import 패키지들을 스태틱 영역에 위치시킨다. static 변수 메소드도 위치한다.

3. 각종 파라미터, 메소드내에 지역변수들은 모두 스택영역에서 생겼다가 사라진다.(프레임 단위의 관리를 한다.)

4. 콜 스택 관리를 한다. one() -> two() -> three()  순으로 함수가 호출 되었다면 three가 종료될 때까지 two는 대기 하다가 상위 메소드가 끝나고 계속 진행된다.  리턴이 있다면 아래 스택프레임(two)에 전달이 되고, three() 메소드에 대해 할당되었던 스택프레임은 삭제된다.

5. 물론 변수 scope의 원리에서 알 수 있듯이 스택프레임 외부에서 접근 할 수 없다.

'프로그래밍' 카테고리의 다른 글

pip install mysql-python 실패시에  (0) 2016.07.07
git 변경된 파일 무시하기.  (0) 2016.07.04
유니코드와 인코딩에 대하여  (0) 2016.06.04
strategy pattern(전략 패턴)  (0) 2016.05.29
templete method 패턴  (0) 2016.05.29
//