moondy.log
로그인
moondy.log
로그인
GC (가비지 컬렉터)
Moondy
·
2022년 5월 13일
팔로우
0
Java
memory
0
개념
자바에서 불필요한 객체 정리(메모리 정리)해주는 역할
C, C++ 에서 개발자가 메모리 관리하니 실수로 memory leak 발생하는 일이 많았지만, 자바에서는 GC가 메모리 해제
Garbage란? Unreachable Object, 즉, stack 에서 더이상 참조하지 않는 객체(in Heap Memory)을 말한다
동작방식
stop the world: JVM이 애플리케이션 실행을 멈춤. (GC 외 나머지 쓰레드 중단)
mark and sweep
사용되는 메모리와 사용되지 않는 메모리 식별
사용되지 않는 메모리 해제
GC의 장점
프로그래머 생산성 향상(메모리 관리 직접 하지 않아 실수 적음)
프로그램 보안상 메모리 직접 접근을 제한함으로써 시스템의 안정성과 보안성 보장
GC의 단점
극한의 성능을 발휘해야 하는 프로그램을 작성하려면 C 같이 저수준 제어가 가능한 언어가 가장 좋은데, Java는 개발자가 직접 메모리 관리를 못해 상대적으로 튜닝 불가능
garbage collecting이 일어나는 타이밍이나 점유 시간을 미리 예측하기 어렵다 → 예측 불가능하게 일시적으로 정지할 수 있다)
Moondy
LLM Application을 개발중인 BackEnd 개발자
팔로우
이전 포스트
스마트 포인터
다음 포스트
정적 팩토리란?
0개의 댓글
댓글 작성
관련 채용 정보