Java์˜ GC

2025. 3. 2. 23:44ยทJava

๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜(GC)์˜ ํ•„์š”์„ฑ๊ณผ ์•Œ๊ณ ๋ฆฌ์ฆ˜

๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜(GC) ์ด๋ž€?

GC๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ๊ธฐ๋ฒ• ์ค‘ ํ•˜๋‚˜๋กœ, ํ”„๋กœ๊ทธ๋žจ์ด ๋” ์ด์ƒ ํ•„์š”๋กœ ํ•˜์ง€ ์•Š๋Š” ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ž๋™์œผ๋กœ ํ•ด์ œํ•ด ์ฃผ๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ํ”ํžˆ GC๊ฐ€ ๊ด€๋ฆฌํ•œ๋‹ค๊ณ  ๋งํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ๋Š” ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์ค‘ ๋™์ ์œผ๋กœ ํ• ๋‹น๋˜๋Š” ํž™(Heap) ์˜์—ญ์„ ์˜๋ฏธํ•˜๊ณ , GC๊ฐ€ ํ•ด์ œํ•˜๋Š” ๋Œ€์ƒ์€ ์–ด๋–ค ๋ณ€์ˆ˜์—์„œ๋„ ์ฐธ์กฐ๋˜์ง€ ์•Š๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์ž…๋‹ˆ๋‹ค. 

 

C๋‚˜ C++๊ฐ™์€ ์–ธ์–ด์—์„œ๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹นํ•˜๊ณ  ํ•ด์ œํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ˆ˜๋™์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๊ฑด ๊ฝค ๋ฒˆ๊ฑฐ๋กœ์šธ ๋ฟ ์•„๋‹ˆ๋ผ ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜(Memory Leak)๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ด๋ฏธ ํ•ด์ œ๋œ ๋ฉ”๋ชจ๋ฆฌ์— ์ ‘๊ทผํ•˜๊ฑฐ๋‚˜ ๋‹ค์‹œ ํ•ด์ œํ•˜๋ ค๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Java์—์„œ๋Š” ์ด๋Ÿฐ ์ž‘์—…์„ ์•Œ์•„์„œ ์ฒ˜๋ฆฌํ•ด์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐœ๋ฐœ์ž์˜ ๋ถ€๋‹ด์„ ๋œ์–ด์ค๋‹ˆ๋‹ค. 

 

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

 

๊ทธ๋ ‡๋‹ค๋ฉด GC๋Š” ์–ด๋–ป๊ฒŒ ํ•ด์ง€ํ•  ๋™์  ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์•Œ์•„์„œ ํŒ๋‹จํ•˜๊ฒŒ ๋ ๊นŒ์š”? 

 

๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜(GC)์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜

GC๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ†ตํ•ด ๋™์  ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ•ด์ œํ•˜๋Š”๋ฐ ๋Œ€ํ‘œ์ ์œผ๋กœ ๋ ˆํผ๋Ÿฐ์Šค ์นด์šดํŒ… ๋ฐฉ์‹๊ณผ ๋งˆํฌ ์•ค ์Šค์œ• ๋ฐฉ์‹์ด ์žˆ์Šต๋‹ˆ๋‹ค. 

 

1. ๋ ˆํผ๋Ÿฐ์Šค ์นด์šดํŒ…(Reference Counting)

๋ ˆํผ๋Ÿฐ์Šค ์นด์šดํŒ… ๋ฐฉ์‹์€ ํž™ ์˜์—ญ์˜ ์ธ์Šคํ„ด์Šค๋“ค์ด ๊ฐ์ž ์ž์‹ ์—๊ฒŒ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ๋ ˆํผ๋Ÿฐ์Šค์˜ ๊ฐœ์ˆ˜๋ฅผ ์„ธ์–ด ์ €์žฅํ•˜๊ณ , ํ•ด๋‹น ์ˆซ์ž๊ฐ€ 0์ด ๋˜๋ฉด ์ •๋ฆฌํ•ด์•ผ ํ•˜๋Š” ์ธ์Šคํ„ด์Šค๋กœ ํŒ๋‹จํ•˜๊ณ  ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ•ด์ œํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ์ฆ‰, ๋ ˆํผ๋Ÿฐ์Šค ์นด์šดํŠธ๊ฐ€ 0์ด ๋˜๋ฉด GC์˜ ๋Œ€์ƒ์ด ๋˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. 

 

 

ํ•˜์ง€๋งŒ ์ด ๋ฐฉ์‹์—๋Š” ํฐ ๋‹จ์ ์ด ์žˆ๋Š”๋ฐ, Root Space์™€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์ง€ ์•Š๋”๋ผ๋„ ์ธ์Šคํ„ด์Šค๋“ค๋ผ๋ฆฌ ์„œ๋กœ๊ฐ€ ์„œ๋กœ๋ฅผ ์ฐธ์กฐํ•˜๋Š” ์ˆœํ™˜ ์ฐธ์กฐ(Circular Refrence)๊ฐ€ ์ผ์–ด๋‚˜๊ฒŒ ๋˜๋ฉด ๋ ˆํผ๋Ÿฐ์Šค ์นด์šดํŠธ๊ฐ€ 1๋กœ ์œ ์ง€๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

 

์ด๋Ÿฌํ•œ ์ด์œ  ๋•Œ๋ฌธ์— ๋ ˆํผ๋Ÿฐ์Šค ์นด์šดํŒ… ๋ฐฉ์‹๋ณด๋‹ค๋Š” ์ˆœํ™˜ ์ฐธ์กฐ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋งˆํฌ ์•ค ์Šค์œ• ๋ฐฉ์‹์„ ๋งŽ์ด ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. 

 

2. ๋งˆํฌ ์•ค ์Šค์œ•(Mark-and-Sweep)

๋งˆํฌ ์•ค ์Šค์œ• ๋ฐฉ์‹์€ Root space์—์„œ ์‹œ์ž‘ํ•ด ๊ทธ๋ž˜ํ”„ ํƒ์ƒ‰์„ ํ†ตํ•ด ๊ฐ์ฒด์— ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ์ง€ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๊ณ , ์ด๋ฅผ ํ•ด์ œ์˜ ๊ธฐ์ค€์œผ๋กœ ์‚ผ์Šต๋‹ˆ๋‹ค. Root space์—์„œ๋ถ€ํ„ฐ ์—ฐ๊ฒฐ๋œ ์ธ์Šคํ„ด์Šค๋ฅผ ์ฐพ์•„ ๋งˆํฌํ•˜๊ณ , Root space๋กœ๋ถ€ํ„ฐ ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋Š” ์ธ์Šคํ„ด์Šค๋Š” ์Šค์œ•ํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์ •๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. 

 

์ด ๋ฐฉ์‹์€ ์ˆœํ™˜ ์ฐธ์กฐ๊ฐ€ ๋ฐœ์ƒํ•˜๋”๋ผ๋„, Root space๋กœ ๋ถ€ํ„ฐ ์—ฐ๊ฒฐ์ด ๋Š์–ด์ง„ ๊ฐ์ฒด๋“ค์„ ๋ชจ๋‘ ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. Java์—์„œ๋„ ์ด๋Ÿฌํ•œ ๋งˆํฌ ์•ค ์Šค์™‘ ๋ฐฉ์‹์„ ์ฑ„ํƒํ•˜์—ฌ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰ํŒ…์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. 

 

ํ•˜์ง€๋งŒ ์ด ๋ฐฉ์‹์—๋„ ๋‹จ์ ์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ๋ž˜ํผ๋Ÿฐ์Šค ์นด์šดํŒ… ๋ฐฉ์‹๊ณผ ๋‹ฌ๋ฆฌ, GC๋ฅผ ์˜๋„์ ์œผ๋กœ ์‹คํ–‰ํ•ด์•ผ ํ•˜๋ฏ€๋กœ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์‹คํ–‰์ค‘์ผ ๋•Œ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜์ด ์ˆ˜ํ–‰๋˜๊ธฐ ์œ„ํ•ด์„œ ํŠน์ • ์‹œ์ ์— ์ปดํ“จํŒ… ๋ฆฌ์†Œ์Šค๋ฅผ ํ• ๋‹นํ•ด์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ฑ๋Šฅ์— ์˜ํ–ฅ์„ ๋ผ์น˜๊ธฐ ๋•Œ๋ฌธ์— ์ด ์‹œ๊ฐ„์„ ์ตœ์†Œํ™”ํ•˜๋Š” ๊ฒƒ์ด ์ตœ์ ํ™”์˜ ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค. 

 

JVM์—์„œ์˜ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜(GC) ๊ณผ์ •

์ด์ œ Java ํ”„๋กœ๊ทธ๋žจ์ด ๋Œ์•„๊ฐ€๋Š” JVM์—์„œ ์–ด๋–ป๊ฒŒ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰ํŒ…์„ ์ง„ํ–‰ํ•˜๋Š”์ง€ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. 

 

JVM์˜ GC๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋งˆํฌ ์•ค ์Šค์™‘ ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค. ๋งˆํฌ ์•ค ์Šค์™‘ ๋ฐฉ์‹์€ Root Space์—์„œ ๋ถ€ํ„ฐ ํ•ด๋‹น ๊ฐ์ฒด์— ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•œ์ง€๊ฐ€ ํ•ด์ œ์˜ ๊ธฐ์ค€์ด ๋˜๋Š”๋ฐ, ์ด๋•Œ Root space๋Š” JVM ๋ฉ”๋ชจ๋ฆฌ์˜ Stack์˜ ๋กœ์ปฌ ๋ณ€์ˆ˜, Method Area์— ์ €์žฅ๋œ ์Šคํƒ ๋ณ€์ˆ˜, Native Stack์˜ C, C++๋กœ ์ž‘์„ฑ๋œ JNI ์ฐธ์กฐ์ž…๋‹ˆ๋‹ค. 

 

JVM์˜ GC์™€ ํž™ ์˜์—ญ

JVM์˜ GC๋Š” ์˜๋„์ ์œผ๋กœ ๋งˆํฌ ์•ค ์Šค์™‘์„ ๋™์ž‘์‹œ์ผœ์•ผ ํ•˜๋ฉฐ, ์–ธ์ œ ํ•ด๋‹น ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์ง€ ํŒŒ์•…ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์„ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” JVM์˜ ํž™ ์˜์—ญ์— ๋Œ€ํ•œ ์ดํ•ด๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. 

 

JVM์˜ ํž™ ์˜์—ญ์€ ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€๋กœ ๋‚˜๋‰˜๋ฉฐ, Young generation๊ณผ Old generation์œผ๋กœ ๊ตฌ๋ถ„๋ฉ๋‹ˆ๋‹ค. ์ด๋•Œ Young generation์—์„œ ๋ฐœ์ƒํ•˜๋Š” GC๋ฅผ Minor GC, Old generation์—์„œ ๋ฐœ์ƒํ•˜๋Š” GC๋ฅผ Major GC๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. 

 

 Young generation์€ ๋˜ ๋‹ค์‹œ ์„ธ ์˜์—ญ์ธ Eden, Survival 0, Survival 1 ์˜์—ญ์œผ๋กœ ๋‚˜๋‰˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. Eden ์˜์—ญ์€ ์ƒˆ๋กญ๊ฒŒ ์ƒ์„ฑ๋œ ๊ฐ์ฒด๋“ค์ด ํ• ๋‹น๋˜๋Š” ์˜์—ญ์ด๊ณ , Survival ์˜์—ญ์€ Minor GC๋กœ ๋ถ€ํ„ฐ ์‚ด์•„๋‚จ์€ ๊ฐ์ฒด๋“ค์ด ์กด์žฌํ•˜๋Š” ์˜์—ญ์ž…๋‹ˆ๋‹ค. ์ด Survival ์˜์—ญ์—๋Š” ํŠน๋ณ„ํ•œ ๊ทœ์น™์ด ์žˆ๋Š”๋ฐ, Survival 0 ํ˜น์€ Survival 1 ๋‘˜ ์ค‘ ํ•˜๋‚˜๋Š” ๊ผญ ๋น„์–ด์žˆ์–ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ๊ทœ์น™ ๋•Œ๋ฌธ์— Survival ์˜์—ญ์€ ๋งˆํฌ ์•ค ์Šค์™‘์ด ๋ฐœ์ƒํ•  ๋•Œ๋งˆ๋‹ค ๋ฒˆ๊ฐˆ์•„ ๊ฐ€๋ฉด์„œ ์‚ฌ์šฉ๋˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. 

 

JVM์˜ GC ๊ณผ์ •

๋จผ์ € ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๊ฒŒ ๋˜๋ฉด ์œ„์˜ ์‚ฌ์ง„๊ณผ ๊ฐ™์ด Eden ์˜์—ญ์— ์ธ์Šคํ„ด์Šค๋“ค์ด ์ƒ์„ฑ๋˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ์ƒˆ๋กœ์šด ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋˜๋‹ค๋ณด๋ฉด Eden ์˜์—ญ์ด ๊ฝ‰์ฐจ๋Š” ์ˆœ๊ฐ„์ด ์˜ค๊ฒŒ๋˜๋Š”๋ฐ ์ด๋•Œ Minor GC๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. 

๐Ÿ’ก Survival 0/Survival 1 ์˜์—ญ๋„ ๊ฐ€๋“ ์ฐจ๋ฉด ์ˆœ๊ฐ„์ด ๋ฐœ์ƒํ•˜๋ฉด Minor GC๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

 

Minor GC๋ฅผ ํ†ตํ•ด Young generation์— ๋งˆํฌ ์•ค ์Šค์™‘์„ ์ง„ํ–‰ํ•˜๊ฒŒ ๋˜๋ฉฐ Root space๋กœ ๋ถ€ํ„ฐ ์—ฐ๊ฒฐ ๊ฐ€๋Šฅํ•œ ๊ฐ์ฒด๋ผ ํŒ๋‹จ๋˜๋Š” ๊ฐ์ฒด๋“ค์€ Survival 0 ์˜์—ญ์œผ๋กœ ์˜ฎ๊ฒจ์ง€๋ฉด์„œ Age Bit์ด 1์ฆ๊ฐ€ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. 

 

Age Bit์€ ์ผ์ • ์ˆ˜์ค€์„ ๋„˜์–ด๊ฐ€๊ฒŒ ๋˜๋ฉด ์˜ค๋ž˜๋„๋ก ์ฐธ์กฐ๋  ๊ฐ์ฒด๋ผ๊ณ  ํŒ๋‹จํ•˜์—ฌ ํ•ด๋‹น ๊ฐ์ฒด๋ฅผ Old generation์œผ๋กœ ๋„˜๊ฒจ์ฃผ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์„ ํ”„๋กœ๋ชจ์…˜(Promotion)์ด๋ผ ํ•ฉ๋‹ˆ๋‹ค. Java 8์˜ Parallel GC ๋ฐฉ์‹ ์‚ฌ์šฉ ๊ธฐ์ค€ Age Bit์ด 15๊ฐ€ ๋˜๋ฉด ํ”„๋กœ๋ชจ์…˜์ด ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค. 

 

์‹œ๊ฐ„์ด ๋งŽ์ด ์ง€๋‚˜๊ฒŒ ๋˜๋ฉด Old generation๋„ ๋‹ค ์ฑ„์›Œ์งˆ ๋•Œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋•Œ Major GC๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด์„œ ๋งˆํฌ ์•ค ์Šค์œ• ๋ฐฉ์‹์„ ํ†ตํ•ด ํ•„์š”์—†๋Š” ๋ฉ”๋ชจ๋ฆฌ๋“ค์„ ๋น„์›Œ์ฃผ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด Major GC๋Š” Minor GC๋ณด๋‹ค ๋” ์˜ค๋žœ ์‹œ๊ฐ„์ด ์†Œ์š”๋˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. 

 

๊ทธ๋ ‡๋‹ค๋ฉด ์™œ ๊ตณ์ด ํž™ ์˜์—ญ์„ Young generation๊ณผ Old generation์œผ๋กœ ๋‚˜๋ˆ„์—ˆ์„๊นŒ์š”? 

์œ„ ์‚ฌ์ง„์—์„œ ๋ณด๋“ฏ์ด Minor collections๊ฐ€ Major collections๋ณด๋‹ค ํ›จ์”ฌ ๋งŽ์ด ์ƒ์กดํ•ด์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์ฒ˜๋Ÿผ ๋Œ€๋ถ€๋ถ„์˜ ๊ฐ์ฒด๋Š” ์ƒ์„ฑ๋œ ํ›„ ๊ณง๋ฐ”๋กœ ์‚ญ์ œ๋˜๊ธฐ ๋•Œ๋ฌธ์—, GC ์„ค๊ณ„์ž๋“ค์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ถ„์„ํ•œ ๊ฒฐ๊ณผ ๋Œ€๋ถ€๋ถ„์˜ ๊ฐ์ฒด๋“ค์ด ์งง์€ ์ƒ์• ๋ฅผ ๊ฐ–๋Š”๋‹ค๋Š” ์‚ฌ์‹ค์„ ์•Œ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ด๋Ÿฌํ•œ ๊ฐ์ฒด๋“ค์ด ๋น ๋ฅด๊ฒŒ ์‚ฌ๋ผ์ง€๋ฏ€๋กœ, Young generation ์˜์—ญ์—์„œ ์ตœ๋Œ€ํ•œ ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์„ค๊ณ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. 

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

Call by Value์™€ Call by Reference  (0) 2025.03.07
ConcurrentHashMap์€ ์–ด๋–ป๊ฒŒ ๋™์‹œ์„ฑ์„ ๋ณด์žฅํ• ๊นŒ?  (0) 2024.10.28
CompletableFuture์™€ ForkJoinPool  (0) 2024.08.08
'Java' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • Call by Value์™€ Call by Reference
  • ConcurrentHashMap์€ ์–ด๋–ป๊ฒŒ ๋™์‹œ์„ฑ์„ ๋ณด์žฅํ• ๊นŒ?
  • CompletableFuture์™€ ForkJoinPool
jwooo๐ŸŒฑ
jwooo๐ŸŒฑ
jwooo's log ์ž…๋‹ˆ๋‹ค.
  • jwooo๐ŸŒฑ
    jwooo's log
    jwooo๐ŸŒฑ
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (12)
      • Java (4)
      • Project (6)
      • Computer Science (2)
        • Network (1)
        • Security (1)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

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

  • ์ธ๊ธฐ ๊ธ€

  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
jwooo๐ŸŒฑ
Java์˜ GC
์ƒ๋‹จ์œผ๋กœ

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