diff --git a/Java/Garbage Collection.md b/Java/Garbage Collection.md
new file mode 100644
index 0000000..7c234a4
--- /dev/null
+++ b/Java/Garbage Collection.md
@@ -0,0 +1,105 @@
+# ๐งน ๊ฐ๋น์ง ์ปฌ๋ ์
(Garbage Collection)
+> ### Garbage Collection์ด๋?
+**Heap ๋ฉ๋ชจ๋ฆฌ์ ๋์ ํ ๋น๋์์ผ๋ ์ฐธ์กฐ๋์ง ์๋ ๋์์ ํ์งํ์ฌ ๋ฉ๋ชจ๋ฆฌ์์ ํด์ ํ๋ JVM์ ๊ธฐ๋ฅ.
+ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐ ํ๋ค ๋ณด๋ฉด ์ ํจํ์ง ์์ ๋ฉ๋ชจ๋ฆฌ์ธ ๊ฐ๋น์ง(Garbage)๊ฐ ๋ฐ์ํ๊ฒ ๋๋ค. C์ธ์ด๋ฅผ ์ด์ฉํ๋ฉด free()๋ผ๋ ํจ์๋ฅผ ํตํด ์ง์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํด์ ํด์ฃผ์ด์ผ ํ์ง๋ง Java๋ Kotlin์ ์ด์ฉํด ๊ฐ๋ฐ์ ํ๋ค ๋ณด๋ฉด ๊ฐ๋ฐ์๊ฐ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ง์ ํด์ ํด์ฃผ๋ ์ผ์ด ์๋ค. ๊ทธ ์ด์ ๋ JVM์ ๊ฐ๋น์ง ์ปฌ๋ ํฐ๊ฐ ๋ถํ์ํ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์์์ ์ ๋ฆฌํด์ฃผ๊ธฐ ๋๋ฌธ์ด๋ค.**
+
+### ๐ Garbage Collection์ ๋ชฉ์ ์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ฅผ ๊ฐํธํํ๊ณ ๋ฉ๋ชจ๋ฆฌ ๋์๋ฅผ ๋ฐฉ์งํ์ฌ ํ๋ก๊ทธ๋จ์ ์์ ์ฑ๊ณผ ๊ฐ๋ฐ ์์ฐ์ฑ์ ํฅ์์ํค๋ ๊ฒ.
+
+
+```
+๋ฉ๋ชจ๋ฆฌ ๋์(Memory Leaks)๋?
+๋ฉ๋ชจ๋ฆฌ ๋์๋ ํ๋ก๊ทธ๋จ์ด ๋์ ์ผ๋ก ํ ๋นํ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํด์ ํ์ง ์๊ณ ๊ณ์ ์ฌ์ฉํ๋ ์ํฉ์ ๋งํ๋ค.
+์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ด ๊ณ์ ๋์ด๋๋ฉฐ, ๊ฒฐ๊ตญ ์์คํ
์ ์ฑ๋ฅ ์ ํ๋ ์ถฉ๋๋ก ์ด์ด์ง ์ ์๋ค.
+```
+### Garbage Collection์ ๋จ์
+
+- ๊ฐ๋ฐ์๊ฐ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์ธ์ ํด์ ๋๋์ง ์ ํํ๊ฒ ์ ์ ์๋ค.
+- ๊ฐ๋น์ง ์ปฌ๋ ์
์ด ๋์ํ๋ ๋์์๋ ๋ค๋ฅธ ๋์์ ๋ฉ์ถ๊ธฐ ๋๋ฌธ์ ์ค๋ฒํค๋๊ฐ ๋ฐ์ํ๋ค.
+
+### Garbage Collection์ ๋์
+
+
+- ๊ฐ์ฒด๊ฐ NULL์ธ ๊ฒฝ์ฐ (ex. String str = null)
+- ๋ธ๋ญ ์คํ ์ข
๋ฃ ํ, ๋ธ๋ญ ์์์ ์์ฑ๋ ๊ฐ์ฒด
+- ๋ถ๋ชจ ๊ฐ์ฒด๊ฐ NULL์ธ ๊ฒฝ์ฐ, ํฌํจํ๋ ์์ ๊ฐ์ฒด
+
+## Garbage Collection ๋์ ๊ณผ์
+
+> **JVM์ ๊ฐ๋น์ง ์ปฌ๋ ํฐ๋ 'Weak Generational Hypothesis'๋ฅผ ์ ์ ๋ก ์ค๊ณ๋์๋ค.**
+```
+Weak Generational Hypothesis ๋?
+์ ๊ท๋ก ์์ฑํ ๊ฐ์ฒด์ ๋๋ถ๋ถ์ ๊ธ๋ฐฉ ์ฌ์ฉํ์ง ์๋ ์ํ๊ฐ ๋๊ณ , ์ค๋๋ ๊ฐ์ฒด์์ ์ ๊ท ๊ฐ์ฒด๋ก์ ์ฐธ์กฐ๋ ๋งค์ฐ ์ ๊ฒ ์กด์ฌํ๋ค๋ ๊ฐ์ค.
+์ด ๊ฐ์ค์ ๊ธฐ๋ฐํ์ฌ ์๋ฐ๋ Young ์์ญ๊ณผ Old ์์ญ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ถํ ํ๊ณ , ์ ๊ท๋ก ์์ฑ๋๋ ๊ฐ์ฒด๋ Young ์์ญ์ ๋ณด๊ดํ๊ณ , ์ค๋ซ๋์ ์ด์๋จ์ ๊ฐ์ฒด๋ Old ์์ญ์ ๋ณด๊ดํ๋ค.
+```
+
+```
+Person person = new Person();
+person.setName("nyoung");
+person = null;
+
+// ๊ฐ๋น์ง ๋ฐ์
+person = new Person();
+person.setName("real nyoung");
+```
+**์ด ์ฝ๋์์ ์ฒ์์ ์ ์ธ๋ โnyoungโ person ๊ฐ์ฒด์ ๊ฒฝ์ฐ, โreal nyoungโ person ๊ฐ์ฒด๋ก ๋ณ๊ฒฝ๋๋ฉด์ heap space์ ๋จ์์์ง๋ง ์๋ฌด๋ ์ฐธ์กฐํ ์ ์๋ ๊ฐ์ฒด๋ก ๋ณํด ๊ฐ๋น์ง ์ปฌ๋ ์
์ ๋์์ด ๋์๋ค.**
+
+
+๊ฐ๋น์ง ์ฝ๋ ํฐ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ์ํ๊ธฐ ์ํด ์ข
์ข
์๋ฐ ์ ํ๋ฆฌ์ผ์ด์
์ โ๋ฉ์ถ๊ณ โ ๋ฉ๋ชจ๋ฆฌ ํ์๋ฅผ ์งํํ๋ค.
+
+- ํ์๋ฅผ ์ํด ์๋ฐ ์ ํ๋ฆฌ์ผ์ด์
์ ๋ฉ์ถ๋ ๊ฑธ โStop The Worldโ
+- ํ์ ๋์์ด ์๋ ๊ฑธ ํ์ํด๋๋ ๊ฑธ โMarkโ (์ฆ, ํ์ฌ ์ฌ์ฉ ์ค์ธ๊ฑธ ํ์)
+- ํ์ ์๋ ๋์์ ๋ฉ๋ชจ๋ฆฌ ์์์ ํด์ ํ๋ ๊ฑธ โSweepโ์ด๋ผ๊ณ ํ๋ค.
+
+๊ฐ๋น์ง ์ฝ๋ ํฐ์ Stop-The-World๋ ์งง์ ์๋ ๊ธธ ์๋, (์ด์์๋ ๊ฐ์ฒด์ ๊ฐ์์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ค.)
+
+### ๐ง ์๋ฐ ์ ํ๋ฆฌ์ผ์ด์
์ ๋ฉ์ถ ์๋ ์๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฅํ ํ ๋นจ๋ฆฌ, heap space์ ์ ์ ๋ฒ์๋ง์ ํ์ํ ํ์๊ฐ ์๋ค.
+> Yong Generation ์์ญ๊ณผ Old Generation ์์ญ์ ๋๋๊ฒ ๋ ์ด์ .
+Weak Generational Hypothesis๋ฅผ ์งํค๊ธฐ ์ํด Young ์์ญ๊ณผ Old ์์ญ์ ๋๋์ด๋๊ณ ํ ์ ์ฒด์์ Garbage Collection๋ฅผ ์งํํ์ง ์๊ณ Young ์์ญ์์๋ง Garbage Collection๋ฅผ ์ํ(minor GC)ํ๋ค. ์ฌ๊ธฐ์ ๋๋ถ๋ถ์ garbage๊ฐ ์๊ฑฐ๋๊ธฐ ๋๋ฌธ์, ๋ฉ๋ชจ๋ฆฌ ๋ญ๋น๋ฅผ ๋ง์ ์ ์๋ค.
+
+- ์ฑ๋ฅ ์ต์ ํ: ์๋ก ์์ฑ๋ ๊ฐ์ฒด์ ์ค๋๋ ๊ฐ์ฒด๋ฅผ ์๋ก ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ์ฒ๋ฆฌํ์ฌ ์ฑ๋ฅ์ ์ต์ ํ
+- ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ์ต์ ํ: Young ์์ญ์ ์ฌ๋ฐฐ์ด๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ๊ณ , Old ์์ญ์ ์ค๋ ์๊ฐ ๋์ ์กด์ฌํ๋ ๊ฐ์ฒด๋ฅผ ๋ณด๊ดํ๊ธฐ ์ํ ๋ฉ๋ชจ๋ฆฌ๋ก ๊ตฌ์ฑ๋์ด ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ฅผ ์ต์ ํ
+- ๊ฐ์ฒด ์๋ช
์ ๋ฐ๋ฅธ ์ฒ๋ฆฌ: ๋๋ถ๋ถ์ ๊ฐ์ฒด๋ ์งง์ ์๊ฐ ๋์๋ง ์ด์๋จ๊ธฐ ๋๋ฌธ์, Young ์์ญ์ ๋น ๋ฅด๊ฒ ์ ๋ฆฌํ๊ณ , Old ์์ญ์ ์ค๋๋ ๊ฐ์ฒด๋ฅผ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ๋ค.
+- GC ์๊ณ ๋ฆฌ์ฆ ์ ํ: Young ์์ญ๊ณผ Old ์์ญ์ ์๋ก ๋ค๋ฅธ GC ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ ์ ์์ด์, ๊ฐ์ฒด์ ์๋ช
๊ณผ ๋ฉ๋ชจ๋ฆฌ ์ํ์ ๋ฐ๋ผ ์ ์ ํ ์๊ณ ๋ฆฌ์ฆ์ ์ ํํ ์ ์๋ค.
+
+
+## Generational Garbage Collection
+
+
+
+### Young ์์ญ(Yong Generation ์์ญ)
+> ์๋กญ๊ฒ ์์ฑ๋ ๊ฐ์ฒด๊ฐ ํ ๋น๋๋ ์์ญ. ์๋ก ์์ฑ๋ ๊ฐ์ฒด๋ Eden ์์ญ์ ํ ๋น๋๋ฉฐ, ์ด์๋จ์ ๊ฐ์ฒด๋ S0 ๋๋ S1๋ก ์ด๋ํ๋ค.
+```
+eden - ์๋ก ์์ฑ๋ ๊ฐ์ฒด๊ฐ ํ ๋น(Allocation)๋๋ ์์ญ
+survivor - ์ต์ 1๋ฒ์ GC ์ด์ ์ด์๋จ์ ๊ฐ์ฒด๊ฐ ์กด์ฌํ๋ ์์ญ
+```
+
+- ๋๋ถ๋ถ์ ๊ฐ์ฒด๊ฐ ๊ธ๋ฐฉ Unreachable ์ํ๊ฐ ๋๊ธฐ ๋๋ฌธ์, ๋ง์ ๊ฐ์ฒด๊ฐ Young ์์ญ์ ์์ฑ๋์๋ค๊ฐ ์ฌ๋ผ์ง๋ค.
+- Young ์์ญ์ ๋ํ ๊ฐ๋น์ง ์ปฌ๋ ์
(Garbage Collection)์ Minor GC๋ผ๊ณ ๋ถ๋ฅธ๋ค.
+
+
+**Young ์์ญ์ ๋์ ์์**
+
+1. ์๋ก ์์ฑ๋ ๊ฐ์ฒด๊ฐ Eden ์์ญ์ ํ ๋น๋๋ค.
+2. ๊ฐ์ฒด๊ฐ ๊ณ์ ์์ฑ๋์ด Eden ์์ญ์ด ๊ฝ์ฐจ๊ฒ ๋๊ณ Minor GC๊ฐ ์คํ๋๋ค.
+ 2-1. Eden ์์ญ์์ ์ฌ์ฉ๋์ง ์๋ ๊ฐ์ฒด์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํด์ ๋๋ค.
+ 2-2. Eden ์์ญ์์ ์ด์๋จ์ ๊ฐ์ฒด๋ 1๊ฐ์ Survivor ์์ญ์ผ๋ก ์ด๋๋๋ค.
+3. 1~2๋ฒ์ ๊ณผ์ ์ด ๋ฐ๋ณต๋๋ค๊ฐ Survivor ์์ญ์ด ๊ฐ๋ ์ฐจ๊ฒ ๋๋ฉด Survivor ์์ญ์ ์ด์๋จ์ ๊ฐ์ฒด๋ฅผ ๋ค๋ฅธ Survivor ์์ญ์ผ๋ก ์ด๋์ํจ๋ค.(1๊ฐ์ Survivor ์์ญ์ ๋ฐ๋์ ๋น ์ํ๊ฐ ๋๋ค.)
+4. ์ด๋ฌํ ๊ณผ์ ์ ๋ฐ๋ณตํ์ฌ ๊ณ์ํด์ ์ด์๋จ์ ๊ฐ์ฒด๋ Old ์์ญ์ผ๋ก ์ด๋(Promotion)๋๋ค.
+
+### Old ์์ญ(Old Generation ์์ญ)
+> Young ์์ญ์์ ์ผ์ ์๊ฐ ๋์ ์ด์๋จ์ ๊ฐ์ฒด๋ค์ด ์ด๋ํ๋ ์์ญ.
+
+- Young ์์ญ์ ์๋ช
์ด ์งง์ ๊ฐ์ฒด๋ค์ ํฐ ๊ณต๊ฐ์ ํ์๋ก ํ์ง ์์ผ๋ฉฐ ํฐ ๊ฐ์ฒด๋ค์ Young ์์ญ์ด ์๋๋ผ ๋ฐ๋ก Old ์์ญ์ ํ ๋น๋๊ธฐ ๋๋ฌธ์ Young ์์ญ๋ณด๋ค ํฌ๊ฒ ํ ๋น๋๋ฉฐ, ์์ญ์ ํฌ๊ธฐ๊ฐ ํฐ ๋งํผ ๊ฐ๋น์ง๋ ์ ๊ฒ ๋ฐ์ํ๋ค.
+- Old ์์ญ์ ๋ํ ๊ฐ๋น์ง ์ปฌ๋ ์
(Garbage Collection)์ Major GC๋ผ๊ณ ๋ถ๋ฅธ๋ค.
+### Metaspace ์์ญ
+> Metaspace๋ Java 8 ์ด์์์ ์ฌ์ฉ๋๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ผ๋ก, ํด๋์ค ๋ฉํ๋ฐ์ดํฐ์ ๋ฆฌํ๋ ์
์ ์ง์ํ๋ ๋ฐ ์ฌ์ฉ
+
+- ๊ธฐ์กด PermGen์ด๋ผ๋ ์์ญ์ผ๋ก, ํด๋์ค ๋ก๋ฉ, ๋ฉ์๋, ์์ ํ, ์ ์ ๋ณ์ ๋ฑ์ ์ ์ฅํ๋ค. ๊ทธ๋ฌ๋ PermGen์ ๊ณ ์ ํฌ๊ธฐ๋ก ์ค์ ๋์ด ์์ด ์ค๋ฒํ๋ก์ฐ๋ก ์ธํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์๊ณ , Java 8 ์ด์์์๋ Metaspace๋ก ๋์ฒด๋์๋ค.
+- ๋์ ์ผ๋ก ํฌ๊ธฐ๊ฐ ์กฐ์ ๋๋ฉฐ, ํด๋์ค ๋ก๋ฉ ๋ฐ ์ธ๋ก๋ฉ์ ๋ฐ๋ผ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํ ๋น๋๊ณ ํด์ ๋๋ค.
+
+
+
+___
+๋ํผ๋ฐ์ค
+https://mangkyu.tistory.com/118
+https://hoonzi-text.tistory.com/103
\ No newline at end of file