๐พ [CS] ๊ฐ๋น์ง ์ปฌ๋ ์ (Garbage Collection)์ด๋ ๋ฌด์์ผ๊น์?
- ๊ฐ๋น์ง ์ปฌ๋ ์ (Garbage Collection)์ ๋ ์ด์ ์ฌ์ฉํ์ง ์๋ ๊ฐ์ฒด๋ฅผ ๋ฉ๋ชจ๋ฆฌ์์ ์๋์ผ๋ก ํด์ ํ๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๊ธฐ๋ฒ์ ๋๋ค.
- ์๋ฐ(Java)์ ๊ฐ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์, ๊ฐ๋ฐ์๊ฐ ์๋์ผ๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํด์ ํ์ง ์์๋ ๊ฐ๋น์ง ์ปฌ๋ ํฐ(Garbage Collector)๊ฐ ์๋์ผ๋ก ๋ถํ์ํ ๊ฐ์ฒด๋ฅผ ๊ฐ์งํ๊ณ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ์ํ์ฌ ๋ฉ๋ชจ๋ฆฌ ๋์(Memory Leak)๋ฅผ ๋ฐฉ์งํฉ๋๋ค.
1๏ธโฃ ๊ฐ๋น์ง ์ปฌ๋ ์ ์ ํ์์ฑ.
1๏ธโฃ ์๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ.
- ๊ฐ๋น์ง ์ปฌ๋ ์ (Garbage Collection)์ ํ๋ก๊ทธ๋๋จธ๊ฐ ๋ฉ๋ชจ๋ฆฌ ํ ๋น๊ณผ ํด์ ๋ฅผ ์ง์ ๊ด๋ฆฌํ ํ์ ์์ด, ํ ๋ฉ๋ชจ๋ฆฌ(Heap Memory)์์ ๋ ์ด์ ์ฐธ์กฐ๋์ง ์๋ ๊ฐ์ฒด๋ฅผ ์๋์ผ๋ก ์ ๊ฑฐํ์ฌ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ฅผ ๊ฐํธํ๊ฒ ํฉ๋๋ค.
- ์๋ฐ(Java)์ ๊ฐ์ ์ธ์ด์์๋ new ํค์๋๋ก ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ณ ๋๋ฉด, ๋ฉ๋ชจ๋ฆฌ ํด์ ๋ฅผ ๊ฐ๋น์ง ์ปฌ๋ ํฐ(Garbage Collector)์ ๋งก๊ธฐ๊ฒ ๋ฉ๋๋ค.
2๏ธโฃ ๋ฉ๋ชจ๋ฆฌ ๋์ ๋ฐฉ์ง.
- ๊ฐ๋น์ง ์ปฌ๋ ์
(Garbage Collection)์ ๋ ์ด์ ํ์ํ์ง ์์ ๊ฐ์ฒด๊ฐ ๋ฉ๋ชจ๋ฆฌ์์ ํด์ ๋์ง ์๊ณ ๊ณ์ ๋จ์ ์์ด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฐจ์งํ๋ ์ํฉ, ์ฆ ๋ฉ๋ชจ๋ฆฌ ๋์(Memory Leak)๋ฅผ ๋ฐฉ์งํฉ๋๋ค.
- ์ด๋ฅผ ํตํด ํจ์จ์ ์ธ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ์ ๋ณด์ฅํฉ๋๋ค.
2๏ธโฃ ๊ฐ๋น์ง ์ปฌ๋ ์ (Garbage Collection)์ ๊ธฐ๋ณธ ์๋ฆฌ.
1๏ธโฃ ๊ฐ์ฒด์ ์๋ช ์ฃผ๊ธฐ.
- ์๋ฐ ํ๋ก๊ทธ๋จ์ด ์คํ๋๋ฉด์, ๊ฐ์ฒด๋ ํ ๋ฉ๋ชจ๋ฆฌ(Heap Memory)์ ํ ๋น๋ฉ๋๋ค.
- ์ด๋ค ๊ฐ์ฒด๊ฐ ์์ฑ๋ ํ, ํด๋น ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ๋ ๋ณ์๋ ๋ค๋ฅธ ๊ฐ์ฒด๊ฐ ์์ผ๋ฉด, ๊ทธ ๊ฐ์ฒด๋ ๋ ์ด์ ์ฌ์ฉ๋์ง ์๋ โ์ฐ๋ ๊ธฐ(Garbage)โ๊ฐ ๋ฉ๋๋ค.
- ๊ฐ๋น์ง ์ปฌ๋ ํฐ(Garbage Collector)๋ ์ฃผ๊ธฐ์ ์ผ๋ก ํ ๋ฉ๋ชจ๋ฆฌ(Heap Memory)๋ฅผ ์ค์บํ์ฌ ๋ ์ด์ ์ฐธ์กฐ๋์ง ์๋ ๊ฐ์ฒด๋ฅผ ์ฐพ์ ๋ฉ๋ชจ๋ฆฌ์์ ์ ๊ฑฐ ํฉ๋๋ค.
2๏ธโฃ ์ฐธ์กฐ์ ๊ฐ๋ .
- ๊ฐ์ฒด๋ ์ฐธ์กฐ ๋ณ์๋ฅผ ํตํด ์ ๊ทผํ ์ ์์ผ๋ฉฐ, ๊ฐ๋น์ง ์ปฌ๋ ํฐ(Garbage Collector)๋ ๊ฐ์ฒด๊ฐ ๋ค๋ฅธ ๊ฐ์ฒด๋ ๋ณ์๋ก๋ถํฐ ์ฐธ์กฐ๋๊ณ ์๋์ง๋ฅผ ํ๋จํด ๊ฐ๋น์ง(Garbage) ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํฉ๋๋ค.
- ์ฐธ์กฐ๋์ง ์๋ ๊ฐ์ฒด๋ ๋ ์ด์ ์ ๊ทผํ ์ ์์ผ๋ฏ๋ก, ๊ฐ๋น์ง ์ปฌ๋ ํฐ(Garbage Collector)๊ฐ ๋ฉ๋ชจ๋ฆฌ์์ ์ ๊ฑฐํ ์ ์์ต๋๋ค.
3๏ธโฃ ๊ฐ๋น์ง ์ปฌ๋ ์ (Garbage Collection)์ ๋์ ๋ฐฉ์.
- ๊ฐ๋น์ง ์ปฌ๋ ์
(Garbage Collection)์ ๊ตฌ์ฒด์ ์ธ ๋์ ๋ฐฉ์์ ์ฌ์ฉ๋๋ ์๊ณ ๋ฆฌ์ฆ์ ๋ฐ๋ผ ๋ค๋ฆ
๋๋ค.
- ์๋ฐ์์๋ ๋ค์ํ ์๊ณ ๋ฆฌ์ฆ์ด ๊ฐ๋น์ง ์ปฌ๋ ์ (Garbage Collection)์ ์ํด ์ฌ์ฉ๋๋ฉฐ, ๊ทธ์ค ๋ํ์ ์ธ ๋ช ๊ฐ์ง ๋ฐฉ๋ฒ์ ์ค๋ช ํ๊ฒ ์ต๋๋ค.
1๏ธโฃ ๋งํฌ-์ค-์ค์(Mark-and-Sweep) ์๊ณ ๋ฆฌ์ฆ.
-
๋งํฌ ๋จ๊ณ(Mark Phase)
- ํ๋ก๊ทธ๋จ์ด ์คํ๋๋ ๋์ ์ฐธ์กฐ ๊ฐ๋ํ ๊ฐ์ฒด๋ฅผ โ๋งํนโ ํฉ๋๋ค.
- ์ฐธ์กฐ๋์ง ์๋ ๊ฐ์ฒด๋ ๋งํน๋์ง ์์ ์ฑ๋ก ๋จ์ต๋๋ค.
- ํ๋ก๊ทธ๋จ์ด ์คํ๋๋ ๋์ ์ฐธ์กฐ ๊ฐ๋ํ ๊ฐ์ฒด๋ฅผ โ๋งํนโ ํฉ๋๋ค.
-
์ค์ ๋จ๊ณ(Sweep Phase)
- ๋งํน์ด ๋์ง ์์ ๊ฐ์ฒด๋ฅผ ํ ๋ฉ๋ชจ๋ฆฌ(Heap Memory)์์ ์ ๊ฑฐํ์ฌ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ์ํฉ๋๋ค.
- ์ด ๊ณผ์ ์์ ํ ๋ฉ๋ชจ๋ฆฌ ์กฐ๊ฐํ(Fragmentation)๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
2๏ธโฃ ๋ณต์ฌ(Copying) ์๊ณ ๋ฆฌ์ฆ
- ํ ๋ฉ๋ชจ๋ฆฌ(Heap Memory) ๋ ๊ฐ์ ์์ญ(From-Space์ To-Space)์ผ๋ก ๋๋๋๋ค.
- ์ฐธ์กฐ ๊ฐ๋ฅํ ๊ฐ์ฒด๋ฅผ To-Space๋ก ๋ณต์ฌํ๊ณ , From-Space์ ๋จ์ ์ฐ๋ ๊ธฐ ๊ฐ์ฒด๋ ์ญ์ ํฉ๋๋ค.
- ๋ณต์ฌ ๊ณผ์ ์์ ๋ฉ๋ชจ๋ฆฌ ์กฐ๊ฐํ(Memory Fragmentation) ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ง๋ง, ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ ๊ฐ์ ์์ญ์ผ๋ก ๋๋์ด์ผ ํ๋ค๋ ๋จ์ ์ด ์์ต๋๋ค.
๐ ๋ฉ๋ชจ๋ฆฌ ์กฐ๊ฐํ(Memory Fragmentation)
ํ๋ก๊ทธ๋จ์ด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํ๊ณ ํด์ ํ๋ ๊ณผ์ ์์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ด ์ชผ๊ฐ์ ธ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋ ์ํ๋ฅผ ๋งํฉ๋๋ค.
์ด๋ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ์ฉ ๊ฐ๋ฅํ ๊ณต๊ฐ์ด ์ถฉ๋ถํ ์กด์ฌํจ์๋ ๋ถ๊ตฌํ๊ณ , ์ฐ์์ ์ธ ํฐ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํ์ง ๋ชปํ๋ ์ํฉ์ ์ด๋ํ ์ ์์ต๋๋ค.
๋ฉ๋ชจ๋ฆฌ ์กฐ๊ฐํ(Memory Fragmentation)๋ ์์คํ ์ ์ฑ๋ฅ ์ ํ์ ๋ฉ๋ชจ๋ฆฌ ๋ญ๋น์ ์์ธ์ด ๋๋ฉฐ, ํนํ ๋์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ ๋ง์ด ์ฌ์ฉํ๋ ํ๋ก๊ทธ๋จ์์ ์์ฃผ ๋ฐ์ํฉ๋๋ค.
3๏ธโฃ ์ธ๋๋ณ(Generational) ๊ฐ๋น์ง ์ปฌ๋ ์ .
- ์๋ฐ์ HotSpot JVM์์ ์ฌ์ฉ๋๋ ๊ฐ๋น์ง ์ปฌ๋ ์ ๋ฐฉ์์ผ๋ก, ๊ฐ์ฒด์ ์๋ช ์ ๊ธฐ๋ฐ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ด๋ฆฌํฉ๋๋ค.
- ํ ๋ฉ๋ชจ๋ฆฌ(Heap Memory)๋ฅผ Young Generation, Old Generation, Permanent Generation์ผ๋ก ๋๋์ด, ๊ฐ์ฒด์ ์๋ช
์ ๋ฐ๋ผ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํฉ๋๋ค.
-
Young Generation
- ์๋ก ์์ฑ๋ ๊ฐ์ฒด๊ฐ ์ ์ฅ๋๋ ๊ณต๊ฐ์ผ๋ก, ๋๋ถ๋ถ์ ๊ฐ์ฒด๋ ์ฌ๊ธฐ์ ์์ฑ๋๋ฉฐ ๋น ๋ฅด๊ฒ ์๋ฉธํฉ๋๋ค.
- Minor GC๊ฐ ์ฃผ๊ธฐ์ ์ผ๋ก ๋ฐ์ํ์ฌ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํด์ ํฉ๋๋ค.
- ์๋ก ์์ฑ๋ ๊ฐ์ฒด๊ฐ ์ ์ฅ๋๋ ๊ณต๊ฐ์ผ๋ก, ๋๋ถ๋ถ์ ๊ฐ์ฒด๋ ์ฌ๊ธฐ์ ์์ฑ๋๋ฉฐ ๋น ๋ฅด๊ฒ ์๋ฉธํฉ๋๋ค.
-
Old Generation
- Young Generation์ ๊ฑฐ์ณ ์ค๋ ์ด์๋จ์ ๊ฐ์ฒด๊ฐ ์ด๋ํ๋ ๊ณต๊ฐ์ผ๋ก, Major GC๊ฐ ๋ฐ์ํ์ฌ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํด์ ํฉ๋๋ค.
-
Permanent Generation(Metaspace)
- ํด๋์ค ์ ๋ณด, ๋ฉ์๋, ์์ ํ ๋ฑ JVM์ ํ์ํ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๊ณต๊ฐ์
๋๋ค.
- Java 8 ๋ถํฐ๋ Metaspace๋ผ๋ ์๋ก์ด ํํ๋ก ๊ด๋ฆฌ๋ฉ๋๋ค.
- ํด๋์ค ์ ๋ณด, ๋ฉ์๋, ์์ ํ ๋ฑ JVM์ ํ์ํ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๊ณต๊ฐ์
๋๋ค.
-
Young Generation
๐ ๋ฉํ๋ฐ์ดํฐ(Metadata)
๋ฐ์ดํฐ๋ฅผ ์ค๋ช ํ๋ ๋ฐ์ดํฐ๋ฅผ ์๋ฏธํฉ๋๋ค.
์ฆ, ์ด๋ค ๋ฐ์ดํฐ์ ๋ํ ์ ๋ณด๋ ์์ฑ์ ์ ๊ณตํ๋ ๋ฐ์ดํฐ๋ก, ์๋ณธ ๋ฐ์ดํฐ์ ๋ด์ฉ, ๊ตฌ์กฐ, ํ์, ์์ฑ ๋ฑ์ ์ค๋ช ํ๊ณ ์ ์ํ๋ ์ญํ ์ ํฉ๋๋ค.
๋ฉํ๋ฐ์ดํฐ๋ ๋ฐ์ดํฐ๋ฅผ ๋ ์ ์ดํดํ๊ณ , ์ฐพ๊ณ , ๊ด๋ฆฌํ ์ ์๋๋ก ๋์์ค๋๋ค.
4๏ธโฃ ์๋ฐ์ ๊ฐ๋น์ง ์ปฌ๋ ์ ๊ณผ์ .
1๏ธโฃ Minor GC
-
Young Generation์์ ๋ฐ์ํ๋ ๊ฐ๋น์ง ์ปฌ๋ ์
์
๋๋ค.
- ์๋ก์ด ๊ฐ์ฒด๊ฐ ์์ฑ๋๋ค๊ฐ Young Generation์ด ๊ฐ๋ ์ฐจ๊ฒ ๋๋ฉด Minor GC๊ฐ ์คํ๋์ด ์ฐธ์กฐ๋์ง ์๋ ๊ฐ์ฒด๋ฅผ ์ ๊ฑฐํฉ๋๋ค.
- Minor GC๋ ๋น ๋ฅด๊ณ ์์ฃผ ์คํ๋ฉ๋๋ค.
2๏ธโฃ Major GC(Full GC)
-
Old Generation์์ ๋ฐ์ํ๋ ๊ฐ๋น์ง ์ปฌ๋ ์
์
๋๋ค.
- Young Generation์ ๊ฑฐ์ณ ์ค๋ ์ด์๋จ์ ๊ฐ์ฒด๊ฐ Old Generation์ผ๋ก ์ด๋ํ๊ฒ ๋๋ฉฐ, Old Generation์ด ๊ฐ๋ ์ฐจ๋ฉด Major GC๊ฐ ์คํ๋ฉ๋๋ค.
- Major GC๋ Minor GC์ ๋นํด ๋๋ฆฌ๊ณ , ํ๋ก๊ทธ๋จ์ ์ผ์์ ์ธ ์ค๋จ(Stop-the-World)์ ์ ๋ฐํ ์ ์์ต๋๋ค.
5๏ธโฃ ๊ฐ๋น์ง ์ปฌ๋ ์ ์ ์ฅ๋จ์ .
1๏ธโฃ ์ฅ์ .
-
์๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ
- ๊ฐ๋ฐ์๊ฐ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ฅผ ์๋์ผ๋ก ํ์ ์์๋ ๋์ด ํ๋ก๊ทธ๋๋ฐ์ด ๊ฐํธํด์ง๊ณ , ๋ฉ๋ชจ๋ฆฌ ๋์(Memory Leak)์ ๋ฐฉ์งํ ์ ์์ต๋๋ค.
-
ํจ์จ์ ์ธ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ
- ๊ฐ๋น์ง ์ปฌ๋ ํฐ(Garbage Collector)๋ ๋ถํ์ํ ๊ฐ์ฒด๋ฅผ ์๋์ผ๋ก ํ์ํ์ฌ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ์ ์ต์ ํํฉ๋๋ค.
2๏ธโฃ ๋จ์ .
-
์ฑ๋ฅ ๋ฌธ์
- ๊ฐ๋น์ง ์ปฌ๋ ์ (Garbage Collection)์ด ์คํ๋ ๋ ํ๋ก๊ทธ๋จ์ด ์ผ์์ ์ผ๋ก ๋ฉ์ถ ์ ์๋ โStop-the-Worldโ ํ์์ด ๋ฐ์ํ ์ ์์ต๋๋ค.
-
์์ธก ๋ถ๊ฐ๋ฅํ ์คํ ์์
- ๊ฐ๋น์ง ์ปฌ๋ ์ (Garbage Collection)์ ํน์ ์์ ์ ์์ธก ๋ถ๊ฐ๋ฅํ๊ฒ ์คํ๋๋ฏ๋ก, ์ค์๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์์๋ ์ฑ๋ฅ์ ์ํฅ์ ์ค ์ ์์ต๋๋ค.
6๏ธโฃ ๊ฐ๋น์ง ์ปฌ๋ ์ ์ ์ต์ ํ ๋ฐฉ๋ฒ.
1๏ธโฃ JVM ์ต์ ์ค์ .
-
-Xms
,-Xmx
,-Xmn
๋ฑ์ ์ฌ์ฉํ์ฌ ํ ๋ฉ๋ชจ๋ฆฌ ํฌ๊ธฐ๋ฅผ ์ ์ ํ ์ค์ ํจ์ผ๋ก์จ ๊ฐ๋น์ง ์ปฌ๋ ์ ์ ๋น๋๋ฅผ ์กฐ์ ํ ์ ์์ต๋๋ค. - ์๋ฅผ ๋ค์ด,
-Xms512m -Xmx1024m
์ต์ ์ JVM์ด ์์ํ ๋ 512MB์ ํ ๋ฉ๋ชจ๋ฆฌ(Heap Memory)๋ฅผ ์ฌ์ฉํ๊ณ , ์ต๋ 1024MB๊น์ง ์ฌ์ฉํ ์ ์๋๋ก ์ค์ ํฉ๋๋ค.
2๏ธโฃ GC ์๊ณ ๋ฆฌ์ฆ ์ ํ.
- JVM์ ๋ค์ํ ๊ฐ๋น์ง ์ปฌ๋ ํฐ ์๊ณ ๋ฆฌ์ฆ์ ์ง์ํ๋ฉฐ, ํ๋ก๊ทธ๋จ์ ํน์ฑ์ ๋ง๋ ์๊ณ ๋ฆฌ์ฆ์ ์ ํํ๋ฉด ์ฑ๋ฅ์ ์ต์ ํํ ์ ์์ต๋๋ค.
- ์: Serial GC, Paralle GC, G1 GC ๋ฑ. G1 GC๋ Stop-the-World ํ์์ ์ต์ํํ๋ ๋ฐ ์ ๋ฆฌํฉ๋๋ค.
3๏ธโฃ ๋ฉ๋ชจ๋ฆฌ ๋์ ์๋ฐฉ.
- ๊ฐ๋น์ง ์ปฌ๋ ํฐ(Garbage Collector)๊ฐ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์๋์ผ๋ก ๊ด๋ฆฌํ์ง๋ง, ๋ช ์์ ์ผ๋ก ํด์ ํ ์ ์๋ ๋ฆฌ์์ค(ํ์ผ ํธ๋ค, ๋ฐ์ดํฐ ๋ฒ ์ด์ค ์ฐ๊ฒฐ ๋ฑ)๋ ์ฝ๋์์ ์ง์ ๊ด๋ฆฌํด์ผ ํฉ๋๋ค.
-
์ ์ญ ๋ณ์๋ static ๊ฐ์ฒด๋ก ์ธํ ๋ฉ๋ชจ๋ฆฌ ๋์(Memory Leak)๋ฅผ ์ฃผ์ํด์ผ ํฉ๋๋ค.
- ์ด๋ฌํ ๊ฐ์ฒด๊ฐ ์ฐธ์กฐ๋ฅผ ์ ์งํ๊ณ ์์ผ๋ฉด ๊ฐ๋น์ง ์ปฌ๋ ํฐ(Garbage Collector)๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํด์ ํ์ง ์์ต๋๋ค.
7๏ธโฃ ์์ฝ.
- ๊ฐ๋น์ง ์ปฌ๋ ์ (Garbage Collection)์ ์๋ฐ์ ๊ฐ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์ ์ฌ์ฉ๋์ง ์์ ๊ฐ์ฒด๋ฅผ ์๋์ผ๋ก ๋ฉ๋ชจ๋ฆฌ์์ ํด์ ํ์ฌ ๋ฉ๋ชจ๋ฆฌ ๋์(Memory Leak)๋ฅผ ๋ฐฉ์งํ๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๊ธฐ๋ฒ์ ๋๋ค.
- ๊ฐ๋น์ง ์ปฌ๋ ํฐ(Garbage Collector)๋ ์ฃผ๊ธฐ์ ์ผ๋ก ์คํ๋์ด, ์ฐธ์กฐ๋์ง ์๋ ๊ฐ์ฒด๋ฅผ ๊ฐ์งํ๊ณ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ์ํฉ๋๋ค.
- ์๋ฐ์์๋ ์ธ๋๋ณ ๊ฐ๋น์ง ์ปฌ๋ ์ (Garbage Collection)์ ํตํด ๊ฐ์ฒด์ ์๋ช ์ ๋ฐ๋ผ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํฉ๋๋ค.
- ๊ฐ๋น์ง ์ปฌ๋ ์ ๋๋ถ์ ๊ฐ๋ฐ์๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ์ ๋ํ ๋ถ๋ด์ ๋๊ณ , ๋ ์์ ์ ์ด๊ณ ํจ์จ์ ์ธ ํ๋ก๊ทธ๋จ์ ์์ฑํ ์ ์์ต๋๋ค.