GC(Garbage Collection)

2025. 7. 26. 20:59ยทJAVA

๐Ÿ“Œ GC๋ž€?

GC๋Š” ์ž๋ฐ”์—์„œ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ๊ฐ์ฒด(= ์ฐธ์กฐ๋˜์ง€ ์•Š๋Š” ๊ฐ์ฒด)๋ฅผ Heap ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์ž๋™์œผ๋กœ ํšŒ์ˆ˜ํ•˜๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.

โœ… ๋ชฉ์ 

  • ๊ฐœ๋ฐœ์ž๊ฐ€ free()๋‚˜ delete ์—†์ด๋„ ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๋ฅผ ๋ฐฉ์ง€
  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์•ˆ์ •์„ฑ & ์œ ์ง€๋ณด์ˆ˜์„ฑ ํ–ฅ์ƒ

JVM Heap ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ (Generational GC)

Heap
โ”œโ”€โ”€ Young Generation
โ”‚   โ”œโ”€โ”€ Eden
โ”‚   โ””โ”€โ”€ Survivor 0
โ”‚       โ””โ”€โ”€ Survivor 1
โ””โ”€โ”€ Old Generation
์˜์—ญ ์„ค๋ช…
Eden ๊ฐ์ฒด๊ฐ€ ์ฒ˜์Œ ์ƒ์„ฑ๋˜๋Š” ๊ณต๊ฐ„
Survivor 0/1 ์‚ด์•„๋‚จ์€ ๊ฐ์ฒด๋“ค์ด ์ž„์‹œ๋กœ ์ด๋™ํ•˜๋Š” ๊ณต๊ฐ„
Old ์—ฌ๋Ÿฌ ๋ฒˆ ์‚ด์•„๋‚จ์€ ๊ฐ์ฒด๋“ค์ด ์˜ฌ๋ผ๊ฐ€๋Š” ์˜์—ญ

๐Ÿ” ๋Œ€๋ถ€๋ถ„์˜ ๊ฐ์ฒด๋Š” "๊ธˆ๋ฐฉ ์ฃฝ๋Š”๋‹ค"๋Š” ๊ด€์ฐฐ์— ๊ธฐ๋ฐ˜ํ•œ ๊ตฌ์กฐ → ์„ธ๋Œ€๋ณ„ ๊ด€๋ฆฌ


Survivor 0/1 ๋‘ ๊ฐœ๋กœ ๋‚˜๋‰˜๋Š” ์ด์œ 

  • GC ์„ฑ๋Šฅ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด์„œ์ด๋‹ค.
  • ํ•ด๋‹น ์ด์œ ๋ฅผ ์•Œ๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜์˜ ๋ณต์‚ฌ ๋™์ž‘ ๋ฐฉ์‹์— ๋Œ€ํ•ด์„œ ์•Œ์•„์•ผ ํ•œ๋‹ค.

 

๐Ÿ“ฆ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์˜ ๋™์ž‘ ๋ฐฉ์‹์€ ์™œ ๋ณต์‚ฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๊ฐ€?

 

๐Ÿ” ๋จผ์ €: GC์˜ ํ•ต์‹ฌ

  • “์–ด๋–ค ๊ฐ์ฒด๋Š” ๊ณ„์† ์‚ด์•„์žˆ๊ณ , ์–ด๋–ค ๊ฐ์ฒด๋Š” ๋” ์ด์ƒ ํ•„์š” ์—†๋‹ค”
  • ์ด๋ฅผ ํŒ๋‹จํ•˜๊ณ  ๋ถˆํ•„์š”ํ•œ ๊ฐ์ฒด๋ฅผ ์ œ๊ฑฐํ•ด Heap ๊ณต๊ฐ„์„ ํšŒ์ˆ˜ํ•˜๋Š” ๊ฒƒ์ด GC์˜ ๋ณธ์งˆ์ž…๋‹ˆ๋‹ค.

 

๐Ÿ” ๊ธฐ๋ณธ์ ์ธ GC ๋™์ž‘ ํ๋ฆ„ - ๊ธฐ๋ณธ ๋ฐฉ์‹

  • ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ๊ตฌ์กฐ๋Š” "Mark and Sweep"
    Mark: GC Root์—์„œ ๋„๋‹ฌ ๊ฐ€๋Šฅํ•œ ๊ฐ์ฒด์— “์‚ด์•„์žˆ๋‹ค” ํ‘œ์‹œ
    

Sweep: ๋งˆํฌ๋˜์ง€ ์•Š์€ ๊ฐ์ฒด๋ฅผ ์ œ๊ฑฐ

(Optional) Compact: ์‚ด์•„๋‚จ์€ ๊ฐ์ฒด๋ฅผ ํ•œ์ชฝ์œผ๋กœ ๋ชฐ์•„ ๋‹จํŽธํ™” ์ œ๊ฑฐ

**๐Ÿงฉ GC Root๋ž€?**
* GC๋Š” GC Root์—์„œ ์ถœ๋ฐœํ•ด ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ์ฒด๋งŒ ์‚ด์•„์žˆ๋‹ค๊ณ  ๊ฐ„์ฃผํ•ฉ๋‹ˆ๋‹ค. ๋„๋‹ฌํ•  ์ˆ˜ ์—†๋Š” ๊ฐ์ฒด๋Š” Garbage๋กœ ์ฒ˜๋ฆฌ๋˜์–ด ์ˆ˜์ง‘ ๋Œ€์ƒ์ด ๋ฉ๋‹ˆ๋‹ค.

| ๊ตฌ๋ถ„                | ์˜ˆ์‹œ                               |
| ----------------- | -------------------------------- |
| **์Šค๋ ˆ๋“œ ์Šคํƒ ๋ณ€์ˆ˜**     | ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ธ ๋ฉ”์„œ๋“œ์˜ ์ง€์—ญ ๋ณ€์ˆ˜ ๋ฐ ํŒŒ๋ผ๋ฏธํ„ฐ       |
| **์ •์ (static) ๋ณ€์ˆ˜** | ํด๋ž˜์Šค์— ์„ ์–ธ๋œ static ํ•„๋“œ               |
| **ํด๋ž˜์Šค ๋กœ๋”**        | ํด๋ž˜์Šค ๋กœ๋”ฉ์— ์‚ฌ์šฉ๋œ ๊ฐ์ฒด                   |
| **JNI ์ฐธ์กฐ**        | ๋„ค์ดํ‹ฐ๋ธŒ ์ฝ”๋“œ์—์„œ ์ฐธ์กฐ ์ค‘์ธ ๊ฐ์ฒด (JNI ์ „์—ญ ๋ ˆํผ๋Ÿฐ์Šค) |


### โ— ๊ทธ๋Ÿฐ๋ฐ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค… 
* โŒ "Sweep ๋ฐฉ์‹"์˜ ๋ฌธ์ œ์ 

๊ฐ์ฒด๊ฐ€ ์—ฌ๊ธฐ์ €๊ธฐ ํฉ์–ด์ง → ๋ฉ”๋ชจ๋ฆฌ ๋‹จํŽธํ™”(Fragmentation) // ๋ฆฌ์ŠคํŠธ ์‹์œผ๋กœ ์žˆ๋‹ค๊ณ  ํ–ˆ์„ ๋•Œ, 1 4 8 ์ด๋Ÿฐ์‹์œผ๋กœ ์ €์žฅ๋จ. ์—ฐ์†์ ์œผ๋กœ ์ €์žฅ๋˜๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ

 

๋‹ค์Œ ๊ฐ์ฒด๋ฅผ ํ• ๋‹นํ•  ๋•Œ ๋นˆ ๊ณต๊ฐ„์ด ๋ถ€์กฑํ•˜๊ฑฐ๋‚˜ ๋ถˆ๊ทœ์น™ → ์„ฑ๋Šฅ ์ €ํ•˜ // ๋ฉ”๋ชจ๋ฆฌ ๋‹จํŽธํ™” ๋•Œ๋ฌธ์— ์ด๋Ÿฐ ๋ฌธ์ œ ๋ฐœ์ƒ
๋ฉ”๋ชจ๋ฆฌ ๋ธ”๋ก์„ ๊ณ„์† ์ถ”์ ํ•˜๊ณ , free ๋ชฉ๋ก ์œ ์ง€ํ•ด์•ผ ํ•จ → ๋ณต์žก๋„ ์ฆ๊ฐ€

 

### โœ… ๊ทธ๋ž˜์„œ ๋“ฑ์žฅํ•œ ๋ณต์‚ฌ(Copying) ๊ธฐ๋ฐ˜ GC - ์ƒˆ๋กœ์šด ๋ฐฉ์‹
* ์‚ด์•„๋‚จ์€ ๊ฐ์ฒด๋งŒ ํ•œ์ชฝ์œผ๋กœ ๋ณต์‚ฌํ•ด์„œ Heap์„ ์ƒˆ๋กœ ์ •๋ฆฌ → ๋‹จํŽธํ™” ์—†์ด "๊น”๋”ํ•œ" Heap ์ƒ์„ฑ

### ๐Ÿง  ๋ณต์‚ฌ ๋ฐฉ์‹(Copying Collection)์˜ ๋™์ž‘

์ „์ฒด ์˜์—ญ์„ ๋‘ ๋ถ€๋ถ„์œผ๋กœ ๋‚˜๋ˆ”: From(์ฝ์–ด์˜ค๊ธฐ), To(์“ฐ๊ธฐ - ๋ฐ์ดํ„ฐ ๋ณต์‚ฌ)

 

  1. ๊ฐ์ฒด๊ฐ€ From ์˜์—ญ์— ์žˆ์Œ
  2. GC ์‹คํ–‰ ์‹œ, ์‚ด์•„ ์žˆ๋Š” ๊ฐ์ฒด๋งŒ To ์˜์—ญ์— ๋ณต์‚ฌ
  3. GC ์ข…๋ฃŒ ํ›„, From ↔ To ์—ญํ•  ๊ต์ฒด (ping-pong)

์ด๋Ÿฌํ•œ ์ด์œ ์— ์˜ํ•ด Survivor 2๊ฐœ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ฝ๊ธฐ - ์“ฐ๊ธฐ ์˜์—ญ

 

Survivor ์ด ๋งŒ์ผ ํ•˜๋‚˜๋ผ๋ฉด?

๋ฌธ์ œ ์„ค๋ช…
๋ฐ์ดํ„ฐ ์˜ค์—ผ ๊ฐ์ฒด A๋ฅผ ๋ณต์‚ฌํ•˜๋Š” ์ค‘์—, A๊ฐ€ ๋ฎ์–ด์”Œ์›Œ์งˆ ์ˆ˜ ์žˆ์Œ
์ฐธ์กฐ ๊ผฌ์ž„ ๊ฐ์ฒด๊ฐ€ ์ฐธ์กฐํ•˜๋Š” ๋Œ€์ƒ์ด ์•„์ง ์ด๋™๋˜์ง€ ์•Š์•˜๋Š”๋ฐ ์ฃผ์†Œ๊ฐ€ ๋ฐ”๋€Œ๋ฉด ์ฐธ์กฐ ์˜ค๋ฅ˜ ๋ฐœ์ƒ
์ƒ์กด ํšŸ์ˆ˜ ์ถ”์  ๋ถˆ๊ฐ€ ์–ด๋””์„œ ์™”๋Š”์ง€, ๋ช‡ ๋ฒˆ ์‚ด์•„๋‚จ์•˜๋Š”์ง€ ํŒ๋‹จ์ด ๋ชจํ˜ธํ•ด์ง

 

๐ŸŽฏ ๊ทธ๋ž˜์„œ ์‹ค์ œ ์ž๋ฐ” GC๋Š” ์–ด๋–ป๊ฒŒ ํ•˜๋А๋ƒ?

 

Young ์˜์—ญ → ๋ณต์‚ฌ ๊ธฐ๋ฐ˜ GC (Minor GC)

  • Eden → Survivor0 → Survivor1 → (Promotion) ---- ์ด๋•Œ ์ƒ์กด ํšŸ์ˆ˜๋ฅผ ์ถ”์ ํ•ด์„œ Promotion
  • ์‚ด์•„๋‚จ์€ ๊ฐ์ฒด๋งŒ ๋ณต์‚ฌ = ํšจ์œจ์ 
  • ๋Œ€๋ถ€๋ถ„ ๊ฐ์ฒด๋Š” Young์—์„œ ๊ธˆ๋ฐฉ ์ฃฝ๊ธฐ ๋•Œ๋ฌธ์— ๋งค์šฐ ์ ํ•ฉ

 

Old ์˜์—ญ → Mark-Sweep-Compact ๊ธฐ๋ฐ˜ GC (Major/Full GC)

  • ์˜ค๋ž˜ ์‚ด์•„๋‚จ์€ ๊ฐ์ฒด ๋งŽ์Œ → ๋Œ€๋ถ€๋ถ„ ๋ณต์‚ฌ ํ•„์š”ํ•จ → ๋น„ํšจ์œจ
  • Mark - Sweep - Compact(ํ•„์š”์‹œ)

 

๐Ÿ“Œ ์™œ Young์€ ๋ณต์‚ฌ(Copying), Old๋Š” Mark-Sweep?

ํ•ญ๋ชฉ Young ์˜์—ญ (Minor GC) Old ์˜์—ญ (Major GC)
๊ฐ์ฒด ์ƒ๋ช… ์ฃผ๊ธฐ ๋Œ€๋ถ€๋ถ„ ๊ธˆ๋ฐฉ ์ฃฝ์Œ ๋Œ€๋ถ€๋ถ„ ์˜ค๋ž˜ ์‚ด์•„๋‚จ
ํšŒ์ˆ˜ ๋Œ€์ƒ ์ฃฝ์€ ๊ฐ์ฒด๊ฐ€ ๋Œ€๋ถ€๋ถ„ ์‚ด์•„ ์žˆ๋Š” ๊ฐ์ฒด๊ฐ€ ๋Œ€๋ถ€๋ถ„
๋ณต์‚ฌ ํšจ์œจ ์‚ด์•„์žˆ๋Š” ๊ฒƒ๋งŒ ์†Œ์ˆ˜ ๋ณต์‚ฌ → ๋น ๋ฆ„ ๋Œ€๋ถ€๋ถ„ ๋ณต์‚ฌํ•ด์•ผ ํ•ด์„œ ๋น„ํšจ์œจ์ 
GC ์ „๋žต ๋ณต์‚ฌ ๊ธฐ๋ฐ˜ Mark-Sweep(-Compact)

SWT (Stop - The - World)

๐Ÿ’ก ์ •์˜

  • JVM์ด GC๋‚˜ JIT ์ปดํŒŒ์ผ ๋“ฑ ๋‚ด๋ถ€ ์ž‘์—…์„ ์•ˆ์ „ํ•˜๊ฒŒ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด, ๋ชจ๋“  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์Šค๋ ˆ๋“œ๋ฅผ ์ผ์‹œ ์ •์ง€์‹œํ‚ค๋Š” ๊ฒƒ

 

๐Ÿ“Œ ์–ธ์ œ ๋ฐœ์ƒํ•˜๋‚˜?

์ƒํ™ฉ ์„ค๋ช…
Minor GC Young ์˜์—ญ ์ˆ˜์ง‘ํ•  ๋•Œ๋„ STW ๋ฐœ์ƒ
Major / Full GC Old + ์ „์ฒด Heap ์ˆ˜์ง‘ ์‹œ, ๋” ๊ธด ์‹œ๊ฐ„ STW
ํด๋ž˜์Šค ๋กœ๋”ฉ ๋™์  ํด๋ž˜์Šค ๋กœ๋”ฉ ์‹œ
JIT ์ปดํŒŒ์ผ ๋ฐ”์ดํŠธ์ฝ”๋“œ → ๋„ค์ดํ‹ฐ๋ธŒ ์ฝ”๋“œ ๋ณ€ํ™˜ ์‹œ

 

๐Ÿ“Œ ์™œ ํ•„์š”ํ•˜๋‚˜?

  • GC ์ค‘ ๊ฐ์ฒด๊ฐ€ ์ฐธ์กฐ ์ด๋™, ๋ณต์‚ฌ, ์ œ๊ฑฐ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋™์‹œ์— ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ๊ฐ€ ์‹คํ–‰๋˜๋ฉด ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ ๊นจ์ง
  • ๊ทธ๋ž˜์„œ GC๋Š” ์•ˆ์ „ํ•˜๊ฒŒ ์ˆ˜ํ–‰๋˜๋„๋ก STW ๋ฐœ์ƒ์‹œํ‚ด

GC์˜ ๋ฌธ์ œ์ 

 

๋ฌธ์ œ ์„ค๋ช…
STW ์ง€์—ฐ GC ์ค‘ ๋ชจ๋“  ์Šค๋ ˆ๋“œ ์ •์ง€. ์‚ฌ์šฉ์ž ์š”์ฒญ ์‘๋‹ต ์ง€์—ฐ
Full GC ๋นˆ๋ฒˆ Old ์˜์—ญ์ด ์ž์ฃผ ์ฐจ๋ฉด Full GC๊ฐ€ ์ž์ฃผ ๋ฐœ์ƒ → ์‹œ์Šคํ…œ ๋ฉˆ์ถค
๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜ ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์ง€๋งŒ ์ฐธ์กฐ๊ฐ€ ๋‚จ์•„์žˆ๋Š” ๊ฐ์ฒด → GC ๋Œ€์ƒ ์•„๋‹˜
OOM (OutOfMemoryError) GC๊ฐ€ ํ•ด๋„ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋ถ€์กฑํ•˜๋ฉด → ์น˜๋ช…์  ์˜ค๋ฅ˜ ๋ฐœ์ƒ
๋‹จํŽธํ™” Mark-Sweep๋งŒ ์“ฐ๋ฉด Heap์— ๊ตฌ๋ฉ ์ƒ๊น€ → ํฐ ๊ฐ์ฒด ํ• ๋‹น ์–ด๋ ค์›€

๐Ÿ”Ž ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰ํ„ฐ ์„ ํƒ ๊ธฐ์ค€

Serial GC

  • ๋‹จ์ผ ์Šค๋ ˆ๋“œ๋กœ ๋™์ž‘ํ•˜๋Š” ๊ฐ„๋‹จํ•œ GC.
  • ์ž‘์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(์•ฝ 100MB ์ดํ•˜์˜ ํž™)์„ ์‹คํ–‰ํ•˜๋Š” ๋ฐ ์ ํ•ฉ.
  • ๋‹จ์ผ ํ”„๋กœ์„ธ์„œ ํ™˜๊ฒฝ์—์„œ ์ ์ ˆํ•œ ์„ฑ๋Šฅ์„ ์ œ๊ณต.
  • ์™œ? → ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋ฉ€ํ‹ฐ์ฝ”์–ด ํ™˜๊ฒฝ์—์„œ ๋น„ํšจ์œจ์ ์ผ ์ˆ˜ ์žˆ๋‹ค.

Parallel GC

  • ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์Šค๋ ˆ๋“œ๋ฅผ ํ™œ์šฉํ•˜์—ฌ GC ์ž‘์—…์„ ๋ณ‘๋ ฌ๋กœ ์ˆ˜ํ–‰.
  • ์„œ๋ฒ„ ํ™˜๊ฒฝ์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ์„ ํƒ๋˜๋Š” GC.
  • ์งง์€ ์‘๋‹ต ์‹œ๊ฐ„๋ณด๋‹ค๋Š” ๋†’์€ ์ฒ˜๋ฆฌ๋Ÿ‰(Throughput)์„ ๋ชฉํ‘œ๋กœ ํ•จ.

G1 (Garbage-First) GC

  • Java 9๋ถ€ํ„ฐ ๊ธฐ๋ณธ GC๋กœ ์‚ฌ์šฉ.
  • ํž™์„ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์˜์—ญ์œผ๋กœ ๋‚˜๋ˆ„๊ณ , ํšŒ์ˆ˜ํ•  ํ•„์š”๊ฐ€ ํฐ ์˜์—ญ์„ ์šฐ์„ ์ ์œผ๋กœ ์ •๋ฆฌ.
  • ๋‚ฎ์€ ์ง€์—ฐ ์‹œ๊ฐ„(Low Latency)๊ณผ ์ผ์ •ํ•œ ์‘๋‹ต ์‹œ๊ฐ„์„ ๋ชฉํ‘œ๋กœ ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ ํ•ฉ.

ZGC ๋ฐ Shenandoah GC

  • ๋งค์šฐ ๋‚ฎ์€ ์‘๋‹ต ์‹œ๊ฐ„์„ ๋ชฉํ‘œ๋กœ ํ•˜๋Š” ์ตœ์‹  GC.
  • GC๋กœ ์ธํ•œ ์ •์ง€ ์‹œ๊ฐ„์„ ๋ฐ€๋ฆฌ์ดˆ(ms) ๋‹จ์œ„๋กœ ์ตœ์†Œํ™”.
  • ๋Œ€๊ทœ๋ชจ ์‹œ์Šคํ…œ ๋ฐ ์‹ค์‹œ๊ฐ„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ ํ•ฉ.

๐Ÿ’ก๊ฒฐ๋ก 

  • ์ž‘์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ → Serial GC
  • ๋†’์€ ์ฒ˜๋ฆฌ๋Ÿ‰(Throughput) ์š”๊ตฌ → Parallel GC
  • ๋‚ฎ์€ ์ง€์—ฐ ์‹œ๊ฐ„(Low Latency) ์š”๊ตฌ → G1 GC
  • ์ดˆ์ €์ง€์—ฐ(Real-time Low Latency) ์š”๊ตฌ → ZGC, Shenandoah GC

์ฐธ๊ณ  ๋ฌธํ—Œ

  • https://velog.io/@yereumi/Java-%EA%B3%B5%EC%8B%9D%EB%AC%B8%EC%84%9C%EB%A1%9C-%EA%B3%B5%EB%B6%80%ED%95%98%EB%8A%94-Garbage-Collection-Ch-1.-%EA%B0%80%EB%B9%84%EC%A7%80-%EC%BB%AC%EB%A0%89%EC%85%98-%ED%8A%9C%EB%8B%9D-%EC%86%8C%EA%B0%9C
  • https://www.geeksforgeeks.org/how-jvm-works-jvm-architecture/
  • https://docs.oracle.com/en/java/javase/21/gctuning/introduction-garbage-collection-tuning.html#GUID-223394DF-2E27-4F5D-A7DF-83151EB577BB

'JAVA' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

G1 GC vs CMS GC  (2) 2025.07.26
Stack vs Heap  (1) 2025.07.10
์Šค๋ ˆ๋“œ์™€ ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ  (0) 2025.07.07
JMM  (0) 2025.07.07
JIT(Just-In-TIme) Complination  (4) 2025.07.07
'JAVA' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • G1 GC vs CMS GC
  • Stack vs Heap
  • ์Šค๋ ˆ๋“œ์™€ ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ
  • JMM
moonwhistle
moonwhistle
  • moonwhistle
    OrangeBanana
    moonwhistle
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ (113)
      • [Spring] - Study (11)
        • CS (0)
        • Project - ๋ชจ๊ฐ๋ฐฅ(๋ชจ์—ฌ์„œ ๊ฐ์ž ๋ฐฅ๋จน๊ธฐ) (7)
        • Project - CoinFlow(๋น„ํŠธ์ฝ”์ธ ์ฐจํŠธ) (4)
      • ์˜คํ”ˆ์†Œ์Šค (1)
      • ๐Ÿ“– DB (1)
      • JAVA (6)
      • ์šฐ์•„ํ•œํ…Œํฌ์ฝ”์Šค[ํ”„๋ฆฌ์ฝ”์Šค] (15)
      • [Spring] - ๋ฉ˜ํ† ๋ง (30)
        • ๋ฏธ์…˜ (13)
        • ๊ฐœ๋… (16)
      • ์•Œ๊ณ ๋ฆฌ์ฆ˜ (2)
      • ๐Ÿ’ฌ ์ƒ๊ฐ์ƒ๊ฐ (3)
        • F-lap (2)
      • ํ†ต์‹  (34)
        • ๋„คํŠธ์›Œํฌ ํ”„๋กœํ† ์ฝœ (18)
        • ๋ฐ์ดํ„ฐํ†ต์‹  (16)
      • ์šฉ์ ‘ (8)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
    • ์นดํ…Œ๊ณ ๋ฆฌ
    • ์ดˆ๋ก์Šคํ„ฐ๋””
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    Flow
    volatile
    jmm
    F-Lab
    KAFKA
    redis
    ๋™์‹œ์„ฑ
    multimodule
    GC
    data
    ์—ํ”„๋žฉ
    ์ฝ”์ธ
    ๋ฉ€ํ‹ฐ๋ชจ๋“ˆ
    garbage collection
    Synchronized
    spring
    ์„ค๊ณ„
    ํ›„๊ธฐ
    ํŠธ๋žœ์žญ์…˜
    Java
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.4
moonwhistle
GC(Garbage Collection)
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”