JVM JRE JDK

JVM(Java Virtual Machine)

  • ์ปดํŒŒ์ผ๋œ ์ž๋ฐ” ๋ฐ”์ดํŠธ ์ฝ”๋“œ(.class)๋ฅผ OS์— ํŠนํ™”๋œ ์–ธ์–ด๋กœ ๋ณ€ํ™˜(์ธํ„ฐํ”„๋ฆฌํ„ฐ์™€ JIT ์ปดํŒŒ์ผ๋Ÿฌ)ํ•˜์—ฌ ์‹คํ–‰ํ•ด์ฃผ๋Š” ์—ญํ• ์„ ํ•˜๊ณ  ์žˆ๋‹ค.
  • ๋ฐ”์ดํŠธ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ํ‘œ์ค€์˜ ์˜๋ฏธ
  • ๋ฐ”์ดํŠธ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ํ‘œ์ค€์„ ๊ตฌํ˜„ํ•œ ๊ตฌํ˜„์ฒด๋„ JVM์ด๋ผ๋Š” ์šฉ์–ด๋กœ ํ‘œํ˜„ํ•˜๊ธฐ๋„ ํ•œ๋‹ค.

JVM์˜ ์ข…๋ฅ˜์— ๋Œ€ํ•ด

JRE(Java Runtime Environment)

  • ์ž๋ฐ” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ตฌ์„ฑ๋œ ๋ฐฐํฌํŒ์ด๋‹ค.
  • JVM์„ ํฌํ•จํ•˜๋Š” ํŒจํ‚ค์ง€๋กœ ๋ณผ ์ˆ˜ ์žˆ๊ณ , JVM๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ž๋ฐ” ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœํผํ‹ฐ ์„ธํŒ…์ด๋‚˜ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.
  • JRE๋Š” JVM์ด ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์„ ๋™์ž‘์‹œํ‚ฌ ๋•Œ ํ•„์š”ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํŒŒ์ผ๋“ค๊ณผ ๊ธฐํƒ€ ํŒŒ์ผ๋“ค์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.
    • JRE๋Š” JVM์˜ ์‹คํ–‰ํ™˜๊ฒฝ์„ ๊ตฌํ˜„ํ–ˆ๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.

JDK(Java Development Kit)

  • JRE + ๊ฐœ๋ฐœ์— ํ•„์š”ํ•œ ๋„๊ตฌ๋“ค์„ ํฌํ•จํ•œ ํŒจํ‚ค์ง€๋ฅผ ๋งํ•œ๋‹ค.
  • Java ๊ฐœ๋ฐœ Tool list
  • Example
    • javadoc
    • jar
    • javap
    • jconsole
    • javac