You Can Become A
๋ฆ๊ฒ ์์ํด๋ ๋๊ตฌ๋ ์ง ๋ ธ๋ ฅํ๋ฉด ๊ฐ๋ฐ์๊ฐ ๋ ์ ์์ด์ !
๊ฐ๋น์ง ์ปฌ๋ ํฐ
โ ๊ฐ๋น์ง ์ปฌ๋ ์ GC ํ๋ ์ ์ฐจ ๋ง๋ณด๊ธฐ
Garbage Collection ํ๋ ์๋ฐ(Java)๊ฐ C ์ธ์ด์ ๋นํด ์๋ ์ฐจ์ด๊ฐ ๋๋ ์ด์ ๋ ์ํคํ ์ณ ์ค๊ณ, ์ฆ JVM์ ์๋๋ฐ, ๋ฏธ๋ฆฌ ๋ฐ์ด๋๋ฆฌ ์ฝ๋๋ก ์ปดํ์ผ๋๋ C์ธ์ด์ ๋นํ์ฌ, ์๋ฐ๋ ๋ฐ์ดํธ ์ฝ๋๋ผ๋ ์ค๊ฐ ๋จ๊ณ ์ปดํ์ผ์ ํด์ํ๋๋ฐ ์์ด์ ์๊ฐ์ด ์์๋๊ธฐ ๋๋ฌธ์ด๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฌด์๋ณด๋ค ์๋ฐ ์ดํ๋ฆฌ์ผ์ด์ ์ฑ๋ฅ์ ๊ฐ์ฅ ํฐ ๋น์ค์ ์ฐจ์งํ๋๊ฒ ๋ฐ๋ก ๊ฐ๋น์ง ์ปฌ๋ ์ (GC)์ Stop-The-World ์ด๋ค. ์ด์ ํฌ์คํ ์์ ์ฐ๋ฆฌ๋ ์ง๊ธ๊น์ง GC์ ํ ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์ฑ ๋ฐ ๋์ ์๋ฆฌ ๊ทธ๋ฆฌ๊ณ GC์ ์๊ณ ๋ฆฌ์ฆ ์ข ๋ฅ์ ๋ํด ์์๋ณด์๋ค. ๊ทธ๋ฐ๋ฐ ๋ง์ผ ์๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ฑ๋ฅ์ด ์ ๋๋ก ์๋์จ๋ค๋ฉด STW๋ฅผ ์ค์ด๊ธฐ ์ํด ๋ค๋ฅธ GC ์๊ณ ๋ฆฌ์ฆ ์ ์ฑํํด์ ๋์๊ฐ๊ฒ ํ๋ฉด ๋์ง๋ง, ์ด๋ ๋ฌธ์ ๊ฐ ํด๊ฒฐ์ด ์๋๋ค๋ฉด ๋น๋ก์ GC ํ๋ ์ด๋ผ๋ ๊ฒ์..
โ ๊ฐ๋น์ง ์ปฌ๋ ์ ๋์ ์๋ฆฌ & GC ์ข ๋ฅ ๐ฏ ์ด์ ๋ฆฌ
Garbage Collection(GC) ์ด๋? ๊ฐ๋น์ง ์ปฌ๋ ์ (Garbage Collection, ์ดํ GC)์ ์๋ฐ์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๋ฐฉ๋ฒ ์ค์ ํ๋๋ก JVM(์๋ฐ ๊ฐ์ ๋จธ์ )์ Heap ์์ญ์์ ๋์ ์ผ๋ก ํ ๋นํ๋ ๋ฉ๋ชจ๋ฆฌ ์ค ํ์ ์๊ฒ ๋ ๋ฉ๋ชจ๋ฆฌ ๊ฐ์ฒด(garbage)๋ฅผ ๋ชจ์ ์ฃผ๊ธฐ์ ์ผ๋ก ์ ๊ฑฐํ๋ ํ๋ก์ธ์ค๋ฅผ ๋งํ๋ค. C / C++ ์ธ์ด์์๋ ์ด๋ฌํ ๊ฐ๋น์ง ์ปฌ๋ ์ ์ด ์์ด ํ๋ก๊ทธ๋๋จธ๊ฐ ์๋์ผ๋ก ๋ฉ๋ชจ๋ฆฌ ํ ๋น๊ณผ ํด์ ๋ฅผ ์ผ์ผ์ด ํด์ค์ผ ํ์๋ค. ๋ฐ๋ฉด Java์์๋ ๊ฐ๋น์ง ์ปฌ๋ ํฐ๊ฐ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ฅผ ๋ํํด์ฃผ๊ธฐ ๋๋ฌธ์ Java ํ๋ก์ธ์ค๊ฐ ํ์ ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๊ฒ ํ๊ณ , ๊ฐ๋ฐ์ ์ ์ฅ์์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ, ๋ฉ๋ชจ๋ฆฌ ๋์(Memory Leak) ๋ฌธ์ ์์ ๋ํด ๊ด๋ฆฌํ์ง ์์๋ ๋์ด ์ค๋กฏ์ด ๊ฐ๋ฐ์๋ง ์ง์คํ ์ ์๋ค๋ ์ฅ์ ์ด ..