PL(Programming Language)/Java

[Java] ์ž๋ฐ”์˜ ๊ฐ์ฒด ์†Œ๋ฉธ, ๊ฐ€๋น„์ง€, ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜

ํƒฑ์ ค 2021. 11. 4. 10:24

๊ฐ์ฒด ์†Œ๋ฉธ

  • ๊ฐ์ฒด ์ƒ์„ฑ ์—ฐ์‚ฐ์ž new ๋กœ ํ• ๋‹น ๋ฐ›์€ ๊ฐ์ฒด์™€ ๋ฐฐ์—ด ๋ฉ”๋ชจ๋ฆฌ๋ฅผ JVM(์ž๋ฐ” ๊ฐ€์ƒ ๊ธฐ๊ณ„)๋กœ ๋˜๋Œ๋ ค ์ฃผ๋Š” ํ–‰์œ„
  • ์†Œ๋ฉธ๋œ ๊ฐ์ฒด ๊ณต๊ฐ„์€ ๊ฐ€์šฉ ๋ฉ”๋ชจ๋ฆฌ์— ํฌํ•จ
  • ์ž๋ฐ”๋Š” ์‚ฌ์šฉ์ž ์ž„์˜๋กœ ๊ฐ์ฒด ์†Œ๋ฉธ ์•ˆ๋จ -> ๊ฐ์ฒด ์†Œ๋ฉธ ์—ฐ์‚ฐ์ž ์—†์Œ
  • JVM(์ž๋ฐ” ๊ฐ€์ƒ ๊ธฐ๊ณ„)์˜ ๊ณ ์œ ํ•œ ์—ญํ• 

๊ฐ€๋น„์ง€

  • ๋ ˆํผ๋Ÿฐ์Šค๊ฐ€ ํ•˜๋‚˜๋„ ์—†๋Š” ๊ฐ์ฒด -> ๋” ์ด์ƒ ์ ‘๊ทผํ•  ์ˆ˜ ์—†์–ด ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๊ฒŒ ๋œ ๋ฉ”๋ชจ๋ฆฌ

๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜

  • JVM์˜ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰ํ„ฐ๊ฐ€ ์ž๋™์œผ๋กœ ๊ฐ€๋น„์ง€ ์ˆ˜์ง‘, ๋ฐ˜ํ™˜
    • ๊ฐ€์šฉ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์ด ์ผ์ • ์ดํ•˜๋กœ ๋ถ€์กฑํ•ด์งˆ ๋•Œ ๊ฐ€๋น„์ง€๋ฅผ ์ˆ˜๊ฑฐํ•ด ๊ฐ€์šฉ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์œผ๋กœ ํ™•๋ณด
    • ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰ํ„ฐ์— ์˜ํ•ด ์ž๋™ ์ˆ˜ํ–‰

  • ๊ฐ•์ œ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜ ์ˆ˜ํ–‰
    • System ๋˜๋Š” Runtime ๊ฐ์ฒด์˜ gc() ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ
    • gc() ๋ฉ”์†Œ๋“œ -> JVM์˜ ๊ฐ•๋ ฅํ•œ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜ ์š”์ฒญ
    • ํ•˜์ง€๋งŒ JVM์ด ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜ ์‹œ์ ์„ ์ „์ ์œผ๋กœ ํŒ๋‹จ 

๊ฐ€๋น„์ง€์˜ ๋ฐœ์ƒ ์˜ˆ์ œ

"Good"์ด ๋ ˆํผ๋Ÿฐ์Šค๊ฐ€ ํ•˜๋‚˜๋„ ์—†๋Š”, ๋” ์ด์ƒ ์ ‘๊ทผํ•  ์ˆ˜ ์—†์–ด ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๊ฒŒ ๋œ ๋ฉ”๋ชจ๋ฆฌ์ด๋‹ค.

728x90