티스토리 뷰

Develop/Language

System.gc()

빼인트 2010. 2. 2. 22:13

C와 JAVA의 큰 차이점 중 하나는 Memory 관리이다.

  • C : 개발자가 관리 ex) alloc
  • JAVA : JVM(Java Virtual Machine)에서 알아서 관리

 

간혹가다, 소스상에 System.gc() 를 구현해 놓는 경우가 존재한다.

친절하게도 주석처리로 '//메모리 정리..' 같이..

 

소스상에서 System.gc() 를 수행하면 항상 Full GC가 수행된다는게 문제다.

Full GC가 일어난 동안에는 Application 수행이 완전히 멈춰버린다.

예를 들어, 5초동안 Full GC가 일어 났다면 5초 동안 먹통이 된다..

 

결론은..

GC는 JVM이 알아서 하도록 둔다.

 

TIP

JVM옵션 중 System.gc() 수행을 못하도록 하는 옵션이 존재한다.

-XX:+DisableExplicitGC

'Develop > Language' 카테고리의 다른 글

자바스크립트(Java Script)는 자바(Java)가 아니다  (0) 2010.04.30
HTTP Method  (0) 2010.03.06
[web.xml] Sample  (0) 2010.02.02
[web.xml] PackageSeparator 구분자 설정  (0) 2010.02.02
HTTP 상태코드  (0) 2010.01.31
endorsed의 의미  (0) 2010.01.31
[Session] P3P (Platform for Privacy Preferences)  (0) 2009.11.26
[Session] 브라우저에서 Cookie정보보기  (0) 2009.11.26
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함