세 가지 가비지 컬렉터 — Java, Python, Go 의 메모리 회수

세 언어 모두 GC 를 쓰지만 우선순위가 다르다. Java 는 generational + region(G1/ZGC), Python 은 reference counting + cyclic detector, Go 는 concurrent tri-color mark-sweep. 각 GC 가 무엇을 포기했는지가 운영 특성을 가른다.

2024년 6월 14일 · 약 5분 읽기

모든 것은 값 복사다 — Go, Java, Python 의 메모리 전달

함수에 객체를 넘기는 동작을 ‘참조 전달’ 이라 부르지만 메모리에서는 모두 값 복사다. Java reference value 복사, Python call by sharing, Go 구조체 헤더와 escape analysis. 무엇이 복사되느냐가 다를 뿐 메커니즘은 같다.

2024년 6월 13일 · 약 6분 읽기