ν‹°μŠ€ν† λ¦¬ λ·°

λ°˜μ‘ν˜•

βœ… 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
링크
Β«   2024/12   Β»
일 μ›” ν™” 수 λͺ© 금 ν† 
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 31
κΈ€ 보관함
λΆ„λ₯˜ 전체보기 (80)
πŸ“Ί Develop (0)
πŸŒ‹ Error Fixed (5)
πŸ— Tool (5)
πŸ’» MacBook M1 (15)
πŸ“¦ ETC (1)

이 ν¬μŠ€νŒ…μ€ 쿠팑 νŒŒνŠΈλ„ˆμŠ€ ν™œλ™μ˜ μΌν™˜μœΌλ‘œ, 이에 λ”°λ₯Έ μΌμ •μ•‘μ˜ 수수료λ₯Ό μ œκ³΅λ°›μŠ΅λ‹ˆλ‹€.