Java

동적할당, 정적할당/가비지컬렉터

JooKit 주킷 2020. 5. 14. 08:53
목차 접기
728x90
반응형

--  동적할당  --

메모리 동적할당이란, 프로그램을 실행하는  필요한 메모리 공간을 할당하는 것을 말한다.

사용이 끝나면 운영체제가 사용 할 수 있도록 반납하고 다음 요구시 재 할당을 받을 수 있다.

동적으로 할당된 메모리 공간은 프로그래머가 직접 해제하거나 가비지 컬렉터에 의해 해제된다.

 


--  정적할당  --

메모리 정적할당은, 메모리의 크기가 하드 코딩되어 있기 때문에,

프로그램이 시작 될 때 필요한 메모리의 크기를 예상해서 미리 할당(확보) 한다는 특징을 갖는다.

정적할당된 메모리의 경우 프로그램을 실행하는 도중에는 해제되지 않고 있다가, 프로그램 종료 시 운영체제가 회수해 간다.

 


--  가비지컬렉터(Garbage Coolector)  --

'주소를 잃어버려서 사용할 수 없는 메모리', '정리되지 않은 메모리'. 즉, 쓰레기를 가비지라 칭한다.

(ex - 메모리를 가지고 있으나 수행이 완료되어 앞으로 사용하지 않고, 연결된 리모콘이 없는 객체)

 

가비지콜렉터는 이런 가비지들을 메모리에서 해제 시켜 다른 용도로 사용 할 수 있게 해주는 프로그램을 말한다.

 

C++와 같은 다른 언어에서는 사용하지 않을 객체의 메모리를 직접 해제해주어야 하지만

자바에서는 가비지컬렉터라는 알고리즘을 사용해 메모리를 관리한다.

728x90
반응형
LIST

'Java' 카테고리의 다른 글

텍스트 저장.  (0) 2020.05.18
컴파일과 컴파일러  (0) 2020.05.14
스트래티지 패턴  (0) 2020.05.13
프레임워크.  (0) 2020.05.13
데이터베이스  (0) 2020.05.13