반응형
*동적할당, 정적할당, 가비지컬렉터
1. 동적할당
int[] a;
a = new int[5];
- new 연산자 등을 사용해 프로그램 도중 필요한 양 만큼 할당하는 것 heap 메모리에 저장된다.(프로그램 종료시 garbage collector가 정리한다)
2. 정적할당
- 메모리를 미리 stack memory에 확보해둔다.
- 아래의 배열처럼
int[] a = new int[10];
- 함수종료될때까지 안쓰는 메모리가 낭비된다.
- 함수 호출이 끝나면 사라진다.
3. 가비지컬렉터
- 자바에서는 메모리를 가비지컬렉터라는 알고리즘을 통해 관리한다.
- 개발자가 메모리를 처리하기 위한 로직을 만들필요도 ,만들어서도 안된다.
- 자바에서 쓰레기는 객체다. 하나의 객체는 메모리를 점유하고, 필요하지 않으면 메모리에서 해제되어야 한다.
- 메모리 점유란 코드에서 a라는 객체가 만들어지고 메모리의 한 부분을 점유하게 되고, 특정 메소드 호출 후 수행이 완료되어 필요없어진 객체를 쓰레기라고 하는데, 이 쓰레기를 효과적으로 처리하는 작업을 가비지 콜렉션 ( Garbage Collection) 이라고 부른다.
반응형
'프로그래밍 > 자바, JDBC' 카테고리의 다른 글
의존성과 라이브러리 Jar (0) | 2020.05.13 |
---|---|
CGI, 서블릿, 톰캣 (0) | 2020.05.13 |
J2EE, JDK, JRE, J2SE 차이 (0) | 2020.05.13 |
응용 프로그래머, 웹 프로그래머의 직무 차이 (0) | 2020.05.13 |
HTTP와 웹서버, 브라우저의 관계 (0) | 2020.05.13 |