C# 메모리 구조

C# 2008. 12. 9. 19:15
C# 메모리 구조 C샵

2008/05/28 08:51

복사 http://blog.naver.com/organiza/70031491336

C#은 메서드, 변수, 클래스 객체 등의 값을 저장하는 3개의 메모리 공간을 갖고 있다.

 

1. 메서드 영역(Method Area):

- 클래스의 메서드에 대한 바이트 코드, 클래스의 전역 변수 등을 할당하는 메모리 영역

 

2. 스택(Stack):

 - 메서드가 실행될 때 매개변수, 메서드 내에 선언된 지역변수, 임시 변수들이 스택 메모리 영역에 저장되며 메서드 실행이 종료되면 스택 메모리는 시스템에 반환함

 

3. Heap:

  - 객체를 사용할때 사용하는 중요한 메모리 공간

     힙 메모리는 new 연산자를 사용해 인스턴스를 생성하는 메모리 공간이다.

     힙에는 클래스, 배열, 문자열 등의 객체 인스턴스를 저장함

 

 

 메서드 영역
 메서드의 바이트 코드
 클래스 변수
 

 

 스택(Stack)
 매개변수
 지역변수
 메서드 실행이 종료되면 스택 메모리는 시스템에 반환함

 

 힙(Heap)
클래스 객체
배열 객체
문자열 객체

 

[출처] C# 메모리 구조|작성자 첫키스


Posted by Sting!
,