개발세발

[Java/자바] 가비지 컬렉션(Garbage Collection) (정리중) 본문

코딩공부/Java

[Java/자바] 가비지 컬렉션(Garbage Collection) (정리중)

뉼👩🏻‍💻 2022. 2. 20. 22:21
728x90
반응형
SMALL

 

Managed Language 

메모리를 알아서 관리하는 언어

ex) Java, Kotlin

특정 때에 특정 방식으로 필요없는 정보(garbage)를 버림

[일하는 방식]

<Mark-and-sweep> : 필요한 것들만 마크하고 아닌 것들을 버림

-> 루트에서 닿지 않는 변수들을 치우는 것 

 

<Reference Counting (참조 카운팅)> : 한 요소가 다른 요소에게 몇 번 참조가 되는 세어서 그 수가 0이 되면 치움

따라서, 효율적인 메모리 관리를 위해 순환 참조하지 말것 

: 변수들이 서로 참조해버리면 reference counting 이 0이 안됨 

 

Unmanaged Language 

ex) C

 

메모리 누수(Memory Leak) : 디버깅, 모니터 툴을 이용해 잡아냄 

ex) 자바스크립트 메모리 누수 사례

   파이썬의 가비지 컬렉터는 어떻게 동작하는가 

등을 검색하면 정보를 더 찾을 수 있음 

 

 


좀더 보고 정리할 것

https://mangkyu.tistory.com/118?category=872426 

 

[Java] Garbage Collection(가비지 컬렉션)의 개념 및 동작 원리 (1/2)

1. Garbage Collection(가비지 컬렉션)이란? [ Garbage Collection(가비지 컬렉션)이란? ] 프로그램을 개발 하다 보면 유효하지 않은 메모리인 가바지(Garbage)가 발생하게 된다. C언어를 이용하면 free()라는 함..

mangkyu.tistory.com

 


참고 자료 

얄팍한 코딩사전 - 가비지 컬렉터가 뭐하는 건가요? (Feat. 메모리 관리) 

https://www.youtube.com/watch?v=24f2-eJAeII 

 

728x90
반응형