12
15

JVM์ด๋ž€

์ž๋ฐ” ๊ฐ€์ƒ ๋จธ์‹ ์˜ ์•ฝ์ž๋กœ ์ž๋ฐ” ๋ฐ”์ดํŠธ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์ฃผ์ฒด์ด๋‹ค. ํ”Œ๋žซํผ์— ๋…๋ฆฝ์ ์ด๋ฉฐ(ํŠน์ • ํ”Œ๋žซํผ์— ๊ท€์†๋˜์ง€์•Š๋Š”๋‹ค๋Š” ์˜๋ฏธ) ์ •ํ•ด์ง„ ๊ทœ๊ฒฉ์„ ๋”ฐ๋ผ์„œ ์ž๋ฐ” ๋ฐ”์ดํŠธ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•œ๋‹ค. ์ฆ‰, API๋ฅผ ๋™์ผํ•˜๊ฒŒ ๋งž์ถ˜ ์ƒํƒœ์—์„œ ์ด๋ก ์ ์œผ๋กœ CPU๋‚˜ OS์— ๋ฌด๊ด€ํ•˜๊ฒŒ ๋˜‘๊ฐ™์ด ์ž‘๋™ํ•œ๋‹ค๋Š” ์ด์•ผ๊ธฐ๋‹ค.

 

P-code(์Šคํƒ์— ํ”ผ์—ฐ์‚ฐ์ž ํƒ€์ž… ๊ธฐ์ˆ )์™€ ์Šค๋ชฐํ† ํฌ(GC, OOP) VM์— ์˜ํ–ฅ์„ ๋ฐ›์•„ ์Šคํƒ๊ธฐ๋ฐ˜์œผ๋กœ ์„ค๊ณ„๋˜์—ˆ๋‹ค. P-code๋Š” type-safe ํ•˜์ง€ ์•Š์•„ ๋ฉ”๋ชจ๋ฆฌ ๋‚ด์šฉ์„ ๋ง์น  ์ˆ˜ ์žˆ์—ˆ๊ณ , ์Šค๋ชฐํ† ํฌ ์—ญ์‹œ ๋™์ ํƒ€์ž… ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•ด์„œ ํ”Œ๋žซํผ์— ๋”ฐ๋ผ ํƒ€์ž…์˜ ํ˜•ํƒœ๊ฐ€ ๋‹ฌ๋ผ์ง€๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ƒ๊ฒผ๋‹ค. jvm์€ ๋ชจ๋“  ๊ธฐ๋ณธํƒ€์ž…์˜ ์ •์˜๋ฅผ ๋ช…ํ™•ํžˆํ•จ์œผ๋กœ์จ ์ด๋Ÿฐ ๋ชจํ˜ธํ•จ์„ ์ค„์˜€๋‹ค.

 

์ฆ‰, ๊ฒฐ๋ก ์€ jvm์€ OS-์‚ฌ์šฉ์ž ์‚ฌ์ด์˜ ์ค‘๊ฐ„ ๋งค๊ฐœ ์—ญํ• ์„ ํ•œ๋‹ค. ์‚ฌ์šฉ์ž์˜ ์ž๋ฐ” ํŒŒ์ผ์„ ์ž๋ฐ” ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์ปดํŒŒ์ผํ•˜๋ฉด jvm์ด ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ํ˜•ํƒœ์ธ .class(๋ฐ”์ดํŠธ ์ฝ”๋“œ ํŒŒ์ผ)๋กœ ๋ณ€๊ฒฝ๋˜๊ณ  ์ด๊ฑธ jvm์ด OS๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์„ํ•ด์ค€๋‹ค. JRE๋Š” ์ž๋ฐ” ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ์˜ ์•ฝ์ž๋กœ ์ž๋ฐ”ํด๋ž˜์Šค๋ฅผ jvm์œผ๋กœ ๋™์ ๋กœ๋“œํ•˜๋Š” ํ™˜๊ฒฝ ์ „์ฒด๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

 

์ž๋ฐ” ํด๋ž˜์Šค ๋กœ๋”๋Š” JRE์˜ ์ผ๋ถ€์ธ๋ฐ ํŒŒ์ผ๊ณผ ํŒŒ์ผ ์‹œ์Šคํ…œ ๊ด€๋ จ ์ž‘์—…์„ ํด๋ž˜์Šค๋กœ๋”์—์„œ ์ฒ˜๋ฆฌํ•ด์ค€๋‹ค. ๋ชจ๋“  ์ž๋ฐ” ํด๋ž˜์Šค๋Š” ํด๋ž˜์Šค๋กœ๋”์— ์˜ํ•ด ๋กœ๋“œ๋œ๋‹ค. ์ž๋ฐ”๋กœ ์ž‘์„ฑ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ํด๋ž˜์Šค๋กœ๋”๋ฅผ ๋งŒ๋“ค ์ˆ˜๋„์žˆ๋‹ค. ํด๋ž˜์Šค ๋กœ๋”๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ฐพ์•„ ๋‚ด์šฉ์„ ์ฝ๊ณ , ๊ทธ ์•ˆ์— ํฌํ•จ๋œ ํด๋ž˜์Šค๋“ค์„ ๋˜ ์ฝ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. ํ”„๋กœ๊ทธ๋žจ์˜ ์š”์ฒญ(ํ˜ธ์ถœ)์ด ์žˆ๊ธฐ์ „์—๋Š” ๋กœ๋“œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜์ง€์•Š๋Š”๋‹ค.

 

jvm์ด ์‹œ์ž‘๋˜๋ฉด 3๊ฐ€์ง€ ํด๋ž˜์Šค ๋กœ๋”๊ฐ€ ์‚ฌ์šฉ๋œ๋‹ค.

  1. ๋ถ€ํŠธ์ŠคํŠธ๋žฉ ํด๋ž˜์Šค ๋กœ๋” - %JAVA_HOME%/jre/lib์„ ์ฝ๋Š”๋‹ค.
  2. ํ™•์žฅ ํด๋ž˜์Šค ๋กœ๋” - %JAVA_HOME%/jre/lib/ext์— ์œ„์น˜ํ•œ ํ™•์žฅ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์ฝ๋Š”๋‹ค.
  3. ์‹œ์Šคํ…œ ํด๋ž˜์Šค ๋กœ๋” - ํ™˜๊ฒฝ๋ณ€์ˆ˜์— ์˜ํ•ด ๋งตํ•‘๋œ๋‹ค.

์•„๋ž˜๋Š” ์ž๋ฐ” SE7 ๊ธฐ๋ฐ˜ JVM ์•„ํ‚คํ…์ฒ˜ ๋„์‹์ด๋‹ค.

JVM ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ํ•œ๋ฒˆ ๊ธฐ์–ตํ•  ํ•„์š”๊ฐ€ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค.

 

Execution Engine์€ ์ž๋ฐ” ๋ฐ”์ดํŠธ์ฝ”๋“œ๋ฅผ ๋ช…๋ น์–ด ๋‹จ์œ„๋กœ ํ•œ์ค„ ์”ฉ ์ฝ์–ด์„œ ์‹คํ–‰ํ•œ๋‹ค. PC ๋ ˆ์ง€์Šคํ„ฐ๋Š” ์“ฐ๋ ˆ๋“œ์™€ ๊ด€๋ จ๋œ ๋ถ€๋ถ„์ด๋‹ค. ์“ฐ๋ ˆ๋“œ๊ฐ€ ์ƒ์„ฑ๋  ๋•Œ ๋งˆ๋‹ค ์ƒ์„ฑ๋˜๋Š” ๊ณต๊ฐ„์œผ๋กœ ๊ฐ ์“ฐ๋ ˆ๋“œ๋งˆ๋‹ค ํ•˜๋‚˜ ์”ฉ ์กด์žฌํ•œ๋‹ค. ํ˜„์žฌ ์ˆ˜ํ–‰ ์ค‘์ธ jvm ๋ช…๋ น์–ด์˜ ์ฃผ์†Œ๋ฅผ ๊ฐ–๊ณ  ์“ฐ๋ ˆ๋“œ๊ฐ€ ์–ด๋–ค ๋ถ€๋ถ„์—์„œ ์–ด๋–ค ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ• ์ง€์— ๋Œ€ํ•œ ๊ธฐ๋ก์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ํž™ ์˜์—ญ์€ GC๊ฐ€ ๋‹ด๋‹นํ•˜๋Š” ๋ถ€๋ถ„์ด๋‹ค.

GC - Garbage Collection

๊ฐ€๋น„์ง€ ์ฝœ๋ ‰์…˜/์ฝœ๋ ‰ํ„ฐ๋ผ๊ณ  ๋ถ€๋ฅด๋Š” ์ด ๋ฐฉ๋ฒ•์€ ๋™์ ์œผ๋กœ ํ• ๋‹นํ•œ ๋ฉ”๋ชจ๋ฆฌ์˜์—ญ ์ค‘ ํ•„์š”์—†๊ฒŒ ๋œ ์˜์—ญ์„ ํ•ด์ œํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ๊ธฐ๋ฒ• ์ค‘ ํ•˜๋‚˜๋‹ค. ๋™์ ํ• ๋‹น์˜์—ญ์„ ๊ด€๋ฆฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ฃผ๋กœ ํž™ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์ž‘๋™ํ•œ๋‹ค. ์ž๋ฐ”๋Š” GC๋ฅผ ์ง€์›ํ•˜๊ธฐ ๋•Œ๋ฌธ์— C/C++๊ณผ ๊ฐ™์ด ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์˜์—ญ ์ „์ฒด๋ฅผ ์™„์ „ํžˆ ๊ด€๋ฆฌํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค.

 

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

ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ตœ๊ทผ์— ํ• ๋‹น๋œ ์˜์—ญ์ด ๋” ๋จผ์ € ํ•ด์ œ๋  ํ™•๋ฅ ์ด ๋†’๋‹ค๋Š” ๊ด€์ฐฐ์ด ์žˆ์—ˆ๋Š”๋ฐ, ์„ธ๋Œ€๋‹จ์œ„ ์ˆ˜์ง‘๋ฐฉ์‹(Weak Generation Hypothesis)์€ ํ• ๋‹น๋œ ์‹œ๊ฐ„๋Œ€๋ฅผ ๊ฐ ์„ธ๋Œ€๋กœ ๊ตฌ๋ถ„ํ•ด์„œ ์„ธ๋Œ€๋ณ„๋กœ ์„œ๋กœ ๋‹ค๋ฅธ ๋ฉ”๋ชจ๋ฆฌ์˜์—ญ์— ๊ฐ์ฒด๋ฅผ ํ• ๋‹นํ•œ๋‹ค. ํ•œ ์„ธ๋Œ€์˜ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์ด ๋‹ค ์ฐจ๋ฉด, ์ด ์˜์—ญ์—์„œ ์‚ด์•„์žˆ๋Š” ๊ฐ์ฒด๋ฅผ ๋” ์ด์ „์„ธ๋Œ€์˜ ๋ฉ”๋ชจ๋ฆฌ์˜์—ญ์œผ๋กœ ์˜ฎ๊ธด๋‹ค.

 

์˜ค๋ž˜๋œ ์˜์—ญ์—์„œ๋Š” ๊ฐ์ฒด๊ฐ€ ๋ณ€ํ•˜์ง€์•Š์„ ํ™•๋ฅ ์ด ๋†’๋‹ค๋Š” ์ ์„ ์ด์šฉํ•œ ๊ฒƒ์ด๋‹ค. ์ด๋Ÿฌ๋ฉด ๋ฉ”๋ชจ๋ฆฌ์˜ ์ผ๋ถ€ ์˜์—ญ๋งŒ์„ ์ฃผ๊ธฐ์ ์œผ๋กœ ์ˆ˜์ง‘ํ•˜๊ฒŒ ๋˜๋ฏ€๋กœ ์„ฑ๋Šฅ์ด ์˜ฌ๋ผ๊ฐ„๋‹ค. ์ž๋ฐ”๋ฅผ ํฌํ•จํ•ด ํ˜„๋Œ€์  ์–ธ์–ด ๋Œ€๋ถ€๋ถ„์—์„œ ์ด ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•œ๋‹ค. ๊ทธ๋ฆผ์„ ๋ณด๋ฉด Young ์˜์—ญ๊ณผ Old ์˜์—ญ, Permanent ์˜์—ญ์ด ์žˆ๋‹ค. Permanent ์˜์—ญ์€ ๋ง์ด ๊ทธ๋ ‡์ง€ ๊ทธ๋ƒฅ ๋ฉ”์†Œ๋“œ ์˜์—ญ์ด๋ผ๊ณ ๋„ ํ•˜๋ฉฐ ๋ฌธ์ž์—ด ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๋Š” ๊ณณ์ด๋‹ค. ๋‹น์—ฐํžˆ GC๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

 

Young ์˜์—ญ์—์„œ ์ œ๊ฑฐ๋  ๋•Œ๋ฅผ Minor GC, Old ์˜์—ญ์—์„œ ์ œ๊ฑฐ๋  ๋•Œ๋ฅผ Major GC(Full GC)๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค๊ณ  ๋งํ•œ๋‹ค. Old์— ์žˆ๋Š” ๊ฐ์ฒด๊ฐ€ Young์— ์žˆ๋Š” ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ•˜๊ฒŒ ๋˜๋ฉด ์ด ๊ฒฝ์šฐ๋ฅผ ์นด๋“œํ…Œ์ด๋ธ”(Old์˜์—ญ์— 512byte ์งœ๋ฆฌ ๋ฉ์–ด๋ฆฌ)์— ๊ธฐ๋กํ•ด์„œ Young์—์„œ ์‚ญ์ œํ• ๋•Œ Old์˜์—ญ ์ „์ฒด์—์„œ ์ฐพ์ง€์•Š๊ณ  ์นด๋“œํ…Œ์ด๋ธ”์—์„œ ์ฐพ์•„ GC์ฒ˜๋ฆฌํ•œ๋‹ค.

 

๋‹ค๋ฅธ ํฌ์ธํ„ฐ ์ถ”์  ๊ธฐ๋ฒ•์œผ๋กœ mark and sweep, ์‚ผ์ƒ‰ํ‘œ์‹œ ๊ธฐ๋ฒ•, ๊ฐ์ฒด์ด๋™๊ธฐ๋ฒ•๊ณผ ๊ฐ™์€ ๋ฐฉ์‹์ด ์กด์žฌํ•œ๋‹ค.

 

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

 

GC๊ฐ€ ์žˆ์œผ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฒ„๊ทธ๋ฅผ ์žก์„ ์ˆ˜ ์žˆ๋‹ค

  • ์œ ํšจํ•˜์ง€ ์•Š์€ ํฌ์ธํ„ฐ ์ ‘๊ทผ - ์ด๋ฏธ ํ•ด์ œ๋œ ๋ฉ”๋ชจ๋ฆฌ์— ์ ‘๊ทผ
  • ์ด์ค‘ ํ•ด์ œ - ์ด๋ฏธ ํ•ด์ œ๋œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋˜ ํ•ด์ œํ•˜๋Š” ์‹œ๋„
  • ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜ - ๋”์ด์ƒ ํ•„์š”์—†๋Š” ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ํ•ด์ œ๋˜์ง€ ์•Š๊ณ  ๋‚จ์•„์žˆ๋Š” ์ƒํƒœ(๊ณต๊ฐ„์ฐจ์ง€)

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

 

๋˜ GC๋ฅผ ์‹คํ–‰ํ•  ๋•Œ JVM์ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰์„ ๋ฉˆ์ถ”๋Š” stop-the-world๊ฐ€ ๋ฐœ์ƒํ•˜๋Š”๋ฐ GC๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์“ฐ๋ ˆ๋“œ๋ฅผ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€ ์“ฐ๋ ˆ๋“œ๋ฅผ ๋ชจ๋‘ ๋ฉˆ์ถ”๋Š” ๊ฒƒ์ด๋‹ค. GC๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ์žฌ๊ฐœ๋˜๋Š”๋ฐ ์ด ์‹œ๊ฐ„์„ ์ค„์ด๋Š” ๊ฒƒ์„ GC ํŠœ๋‹์ด๋ผ๊ณ  ๋Œ€๋ถ€๋ถ„ ์นญํ•œ๋‹ค๊ณ  ํ•œ๋‹ค.


์ฐธ์กฐ:

์ž๋ฐ” ๊ฐ€์ƒ ๋จธ์‹  - ์œ„ํ‚ค๋ฐฑ๊ณผ, ์šฐ๋ฆฌ ๋ชจ๋‘์˜ ๋ฐฑ๊ณผ์‚ฌ์ „

์“ฐ๋ ˆ๊ธฐ ์ˆ˜์ง‘ (์ปดํ“จํ„ฐ ๊ณผํ•™) - ์œ„ํ‚ค๋ฐฑ๊ณผ, ์šฐ๋ฆฌ ๋ชจ๋‘์˜ ๋ฐฑ๊ณผ์‚ฌ์ „

์ฐธ์กฐ ํšŸ์ˆ˜ ๊ณ„์‚ฐ ๋ฐฉ์‹ - ์œ„ํ‚ค๋ฐฑ๊ณผ, ์šฐ๋ฆฌ ๋ชจ๋‘์˜ ๋ฐฑ๊ณผ์‚ฌ์ „

NAVER D2

๋„์›€์ด ๋๋‹ค๋ฉด ๋Œ“๊ธ€์ด๋‚˜ ๊ณต๊ฐ ๋ฒ„ํŠผ ํ•œ ๋ฒˆ์”ฉ ๋ˆ„๋ฅด๊ณ  ๊ฐ€์ฃผ์„ธ์š”! ๋กœ๊ทธ์ธ ์•ˆํ•ด๋„ ๋ฉ๋‹ˆ๋‹ค ^_^

๋ฐ˜์‘ํ˜•
COMMENT