반응형

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

1. 동적할당

int[] a;
a = new int[5];

- new 연산자 등을 사용해 프로그램 도중 필요한 양 만큼 할당하는 것 heap 메모리에 저장된다.(프로그램 종료시 garbage collector가 정리한다)

 

2. 정적할당

- 메모리를 미리 stack memory에 확보해둔다.

- 아래의 배열처럼

int[] a = new int[10];

- 함수종료될때까지 안쓰는 메모리가 낭비된다.

- 함수 호출이 끝나면 사라진다.

 

3. 가비지컬렉터

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

- 개발자가 메모리를 처리하기 위한 로직을 만들필요도 ,만들어서도 안된다.

- 자바에서 쓰레기는 객체다. 하나의 객체는 메모리를 점유하고, 필요하지 않으면 메모리에서 해제되어야 한다.

- 메모리 점유란 코드에서 a라는 객체가 만들어지고 메모리의 한 부분을 점유하게 되고, 특정 메소드 호출 후 수행이 완료되어 필요없어진 객체를 쓰레기라고 하는데, 이 쓰레기를 효과적으로 처리하는 작업을 가비지 콜렉션 ( Garbage Collection) 이라고 부른다.

반응형

+ Recent posts