ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

๋ฐ˜์‘ํ˜•

โœ… JAVA (JVM, JRE, JDK๊ณผ ๋ฒ„์ „ ๋ช…๋ช…๋ฒ•)

1. JVM (Java Virtual Machine)

  • ์ •์˜: JVM์€ Java Virtual Machine์œผ๋กœ, Java ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•˜๋Š” ๊ฐ€์ƒ ๋จธ์‹ ์ž…๋‹ˆ๋‹ค. Java๋Š” ํ”Œ๋žซํผ ๋…๋ฆฝ์ ์ธ ์–ธ์–ด๋กœ ์„ค๊ณ„๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์—, JVM์€ ์šด์˜์ฒด์ œ์— ๋”ฐ๋ผ Java ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค๋‹ˆ๋‹ค.
  • ์—ญํ• : ์ปดํŒŒ์ผ๋œ ๋ฐ”์ดํŠธ์ฝ”๋“œ(.class ํŒŒ์ผ)๋ฅผ ์ฝ๊ณ , ์ด๋ฅผ ๊ฐ ์šด์˜์ฒด์ œ์— ๋งž๊ฒŒ ์‹คํ–‰ํ•˜๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.
  • ํŠน์ง•:
    • ์šด์˜์ฒด์ œ์™€ ์ƒ๊ด€์—†์ด Java ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์‹คํ–‰๋  ์ˆ˜ ์žˆ๊ฒŒ ํ•จ.
    • ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ๋ฐ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜(Garbage Collection)์„ ์ˆ˜ํ–‰.
    • ๋ฐ”์ดํŠธ์ฝ”๋“œ๋ฅผ ํ•ด์„ํ•˜์—ฌ ๋„ค์ดํ‹ฐ๋ธŒ ์ฝ”๋“œ๋กœ ๋ณ€ํ™˜.
  • ํ”Œ๋žซํผ ๋…๋ฆฝ์„ฑ: ํ•œ ๋ฒˆ ์ž‘์„ฑ๋œ Java ์ฝ”๋“œ๊ฐ€ ์—ฌ๋Ÿฌ ์šด์˜์ฒด์ œ์—์„œ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋Š” "Write Once, Run Anywhere" ๊ฐœ๋…์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

2. JRE (Java Runtime Environment)

  • ์ •์˜: JRE๋Š” Java Runtime Environment๋กœ, Java ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ํ™˜๊ฒฝ์ž…๋‹ˆ๋‹ค. JVM๊ณผ ํ•จ๊ป˜ Java์˜ ํ•ต์‹ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฐ ๋ฆฌ์†Œ์Šค๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.
  • ์—ญํ• : JVM์„ ํฌํ•จํ•˜๊ณ , Java ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์‹คํ–‰๋˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ํด๋ž˜์Šค ํŒŒ์ผ ๋“ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. JRE๋Š” Java ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋ชจ๋“  ๊ฒƒ๋“ค์„ ๊ฐ–์ถ”๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๊ตฌ์„ฑ ์š”์†Œ:
    • JVM: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•˜๋Š” ๊ฐ€์ƒ ๋จธ์‹ .
    • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ: Java ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ํ•„์š”๋กœ ํ•˜๋Š” ํ‘œ์ค€ ํด๋ž˜์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(rt.jar).
    • ๊ธฐํƒ€ ๋ฆฌ์†Œ์Šค: ํด๋ž˜์Šค ํŒŒ์ผ ๋ฐ ๊ตฌ์„ฑ ํŒŒ์ผ.
  • ์‚ฌ์šฉ ์‹œ๊ธฐ: JRE๋Š” Java ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰๋งŒ ํ•˜๊ณ ์ž ํ•  ๋•Œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ ๋„๊ตฌ๋Š” ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š์œผ๋ฏ€๋กœ, ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ฑฐ๋‚˜ ์ปดํŒŒ์ผํ•  ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค.

3. JDK (Java Development Kit)

  • ์ •์˜: JDK๋Š” Java Development Kit์œผ๋กœ, Java ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๊ณ  ์‹คํ–‰ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋„๊ตฌ ๋ชจ์Œ์ž…๋‹ˆ๋‹ค. JRE์™€ ๊ฐœ๋ฐœ ๋„๊ตฌ(์ปดํŒŒ์ผ๋Ÿฌ ๋“ฑ)๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์—ญํ• : JDK๋Š” Java ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๊ณ , ์ปดํŒŒ์ผํ•˜๊ณ , ๋””๋ฒ„๊น…ํ•˜๊ณ , ํŒจํ‚ค์ง•ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋„๊ตฌ๋“ค์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. JDK์—๋Š” JRE์™€ ๋”๋ถˆ์–ด ๊ฐœ๋ฐœ์— ํ•„์š”ํ•œ ๋„๊ตฌ๋“ค์ด ์ถ”๊ฐ€๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๊ตฌ์„ฑ ์š”์†Œ:
    • JRE: Java ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰์„ ์œ„ํ•œ ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ.
    • Javac: Java ์ปดํŒŒ์ผ๋Ÿฌ๋กœ, .java ํŒŒ์ผ์„ .class ํŒŒ์ผ(๋ฐ”์ดํŠธ์ฝ”๋“œ)๋กœ ๋ณ€ํ™˜.
    • ๋””๋ฒ„๊ฑฐ ๋ฐ ๊ธฐํƒ€ ๋„๊ตฌ: Java ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๊ณ  ๋””๋ฒ„๊น…ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋„๊ตฌ๋“ค(javap, jdb ๋“ฑ).
  • ์‚ฌ์šฉ ์‹œ๊ธฐ: JDK๋Š” Java ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•  ๋•Œ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ ๋„๊ตฌ์™€ ์‹คํ–‰ ํ™˜๊ฒฝ(JRE)์„ ๋ชจ๋‘ ํฌํ•จํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๊ณ  ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

JAVA๋ฒ„์ „ JAVA1.8 or JAVA8 ๋กœ ๋ถ€๋ฅด๊ฒŒ ๋œ ์ด์œ 

Java8 ์ด์ „์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ˜•ํƒœ๋กœ ํ‘œ์‹œ ํ•˜์˜€์Šต๋‹ˆ๋‹ค.
- Java SE 5 โ†’ 1.5.0
- Java SE 6 โ†’ 1.6.0
- Java SE 7 โ†’ 1.7.0
- Java SE 8 โ†’ 1.8.0
JAVA SE 9 ์ดํ›„ ๋ถ€ํ„ฐ๋Š” ์•ž์˜ 1์„ ์—†์• ๊ณ , ์ฃผ ๋ฒ„์ „ ๋ฒˆํ˜ธ๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
- Java 9 โ†’ 9
- Java 10 โ†’ 10
- Java 11 โ†’ 11
- Java 17 โ†’ 17
์ƒ์„ธ ๋ฒ„์ „ ์ •๋ณด๋ฅผ ๋งํ• ๋•Œ๋Š” 11.0.8 ์ด๋ ‡๊ฒŒ ํ‘œํ˜„ํ•˜๊ธฐ ๋„ ํ•ฉ๋‹ˆ๋‹ค.

 

'๐Ÿ“บ Develop > โœ๏ธ JAVA' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Java 8~21 ๋ฒ„์ „๋ณ„ ์ฐจ์ด์   (1) 2024.10.18
๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
ยซ   2025/04   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
๊ธ€ ๋ณด๊ด€ํ•จ
๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (80)
๐Ÿ“บ Develop (54)
โš™๏ธ Arch & Design (1)
๐ŸŽจ Design Pattern (2)
๐ŸŒด Spring (8)
โœ๏ธ JAVA (2)
๐ŸŽฏ Python (6)
๐Ÿ•‹ Server (20)
๐Ÿ›ณ CI & CD (7)
๐Ÿ—‚๏ธ Etc (8)
๐ŸŒ‹ Error Fixed (5)
๐Ÿ— Tool (5)
๐Ÿ’ป MacBook M1 (15)
๐Ÿ“ฆ ETC (1)

์ด ํฌ์ŠคํŒ…์€ ์ฟ ํŒก ํŒŒํŠธ๋„ˆ์Šค ํ™œ๋™์˜ ์ผํ™˜์œผ๋กœ, ์ด์— ๋”ฐ๋ฅธ ์ผ์ •์•ก์˜ ์ˆ˜์ˆ˜๋ฃŒ๋ฅผ ์ œ๊ณต๋ฐ›์Šต๋‹ˆ๋‹ค.