λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

#1 Language πŸ‘„/1-4 JAVA

[Java] JDK vs JRE vs JVM

JDK, JRE, JVM의 μ°¨μ΄λŠ”?!

 

 

JDK  = JRE + Compilers + Debuggers
  • μžλ°” κ°œλ°œλ„κ΅¬(Java Development Kit)
  • JDKλŠ” JRE + κ°œλ°œμ„ μœ„ν•΄ ν•„μš”ν•œ 도ꡬ(javac, javaλ“±)듀을 포함

 

JRE = JVM + Libraries + Other Components
  • μžλ°” μ‹€ν–‰ν™˜κ²½(Java Runtime Environment)
  • JREλŠ” JVM이 μžλ°” ν”„λ‘œκ·Έλž¨μ„ λ™μž‘μ‹œν‚¬ λ•Œ ν•„μš”ν•œ 라이브러리 νŒŒμΌλ“€κ³Ό 기타 νŒŒμΌλ“€μ„ κ°€μ§€κ³  μžˆμŒ
  • JREλŠ” JVM의 μ‹€ν–‰ν™˜κ²½μ„ κ΅¬ν˜„ν–ˆλ‹€κ³  ν•  수 있음

 

JVM runs Java bytecode
  • μžλ°” 가상머신(Java Virtual Machine)
  • μžλ°” μ†ŒμŠ€μ½”λ“œλ‘œλΆ€ν„° λ§Œλ“€μ–΄μ§€λŠ” μžλ°” λ°”μ΄λ„ˆλ¦¬ 파일(.class)을 μ‹€ν–‰
  • JVM은 ν”Œλž«νΌμ— 의쑴적. 즉, λ¦¬λˆ…μŠ€μ˜ JVMκ³Ό μœˆλ„μš°μ¦ˆμ˜ JVM은 닀름
  • 컴파일된 λ°”μ΄λ„ˆλ¦¬ μ½”λ“œλŠ” μ–΄λ–€ JVMμ—μ„œλ„ λ™μž‘μ‹œν‚¬ 수 있음
  • JVM의 μ—­ν• 
    • λ°”μ΄λ„ˆλ¦¬ μ½”λ“œλ₯Ό 읽음
    • λ°”μ΄λ„ˆλ¦¬ μ½”λ“œλ₯Ό 검증
    • λ°”μ΄λ„ˆλ¦¬ μ½”λ“œλ₯Ό μ‹€ν–‰
    • μ‹€ν–‰ν™˜κ²½ (Runtime Environment)의 κ·œκ²©μ„ 제곡 (ν•„μš”ν•œ 라이브러리 및 κΈ°νƒ€νŒŒμΌ)

 

πŸ’‘ κ²°λ‘ 

개발자면 JDKκ°€ ν•„μš”ν•¨
μ‚¬μš©μžλ©΄ JRE만 μžˆμ–΄λ„ μ‹€ν–‰ κ°€λŠ₯
JVM은 μžλ°” ν”„λ‘œκ·Έλž¨μ„ κ΅΄λŸ¬κ°€κ²Œ ν•˜λŠ” 근본이기 λ•Œλ¬Έμ— JDK, JRE λͺ¨λ‘ 속해 있음
LIST

'#1 Language πŸ‘„ > 1-4 JAVA' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[JAVA] getter, setter  (0) 2022.12.03
[JAVA] μ ‘κ·Όμ œν•œμž (public, protected, private, default 차이)  (0) 2022.12.03
[JAVA] νŒ¨ν‚€μ§€(package)  (0) 2022.11.06
[JAVA] μƒμˆ˜  (0) 2022.11.06
[JAVA] Final ν•„λ“œ  (0) 2022.11.06