μλ°λ κ°μ²΄ μ§ν₯μ νλ‘κ·Έλλ° μΈμ΄ !!
μλ° νλ‘κ·Έλ¨μ ꡬλμ리
1. μμ€μ½λλ₯Ό μμ±νλ€ (.java νμ₯μμ μμ€νμΌ)
2. μ»΄νμΌλ¬(java.exe)κ° λ°μ΄νΈμ½λλ‘ λ³ννλ€. (.class νμ₯μμ ν΄λμ€ νμΌ)
3. λ°μ²(java.exe)λ‘ μλ° κ°μλ¨Έμ (JVM)μ ꡬλμν¨λ€.
4. μλ° κ°μλ¨Έμ (JVM)μ΄ λ°μ΄νΈμ½λλ₯Ό ν΄μνλ©° μλ° νλ‘κ·Έλ¨μ΄ μ€νλλ€.
( * bytecodeλ μλ° κ°μ λ¨Έμ μ΄ μ½μ μ μλ μΈμ΄λ‘ λ³νλ μ½λ. JVMλ§ μ€μΉ λμ΄ μμΌλ©΄ bytecodeλ μ΄λ€ μ΄μ체μ μμλΌλ μ€νλ μ μλ€. )
μλ° κ°μ λ¨Έμ (JVM)
* κ΅¬μ± μμ
1. ν΄λμ€ λ‘λ(Class Loader)
: νμν ν΄λμ€ νμΌμ μ°Ύκ³ λμ μΌλ‘ λ‘λνμ¬ μ€ν μμ ν΄λμ€λ₯Ό μ¬μ©ν μ μλλ‘ νλ€. λ‘λλ ν΄λμ€λ JVMμ λ©λͺ¨λ¦¬ μμμ μ μ₯λλ€.
2. μ€ν μμ§(Execution Engine)
: λ°μ΄νΈ μ½λλ₯Ό κΈ°κ³μ΄λ‘ λ³ννκ³ , μ΄λ₯Ό μ€ννμ¬ νλ‘κ·Έλ¨μ μ€ννλ€.
3. λ©λͺ¨λ¦¬ μμ(Memory Areas)
: Java νλ‘κ·Έλ¨μ μ€νκ³Ό κ΄λ ¨λ λ°μ΄ν°μ μμμ μ μ₯νλ€. μ£Όμν λ©λͺ¨λ¦¬ μμμΌλ‘λ λ©μλ μμ(Method Area), ν(Heap), μ€ν(Stack), PC λ μ§μ€ν°(Program Counter Register), λ€μ΄ν°λΈ λ©μλ μ€ν(Native Method Stack)μ΄ μ‘΄μ¬νλ€
- λ©μλ μμ : ν΄λμ€ μ 보, μμ ν(Constant Pool), λ©μλ μ½λ λ±μ μ 보λ₯Ό μ μ₯.
- ν : λμ μΌλ‘ μμ±λ κ°μ²΄μ λ°°μ΄μ μ μ₯. κ°λΉμ§ 컬λ μ μ νμμ λΆνμν κ°μ²΄λ₯Ό μλμΌλ‘ μ 리ν¨.
- μ€ν : λ©μλ νΈμΆκ³Ό κ΄λ ¨λ λ°μ΄ν°λ₯Ό μ μ₯.
* νΉμ§
- μ€ν κΈ°λ°μ κ°μ λ¨Έμ
- λͺ¨λ κΈ°λ³Έ νμ μ μ μλ₯Ό λͺ νν ν¨μΌλ‘μ¨ νλ«νΌ λ λ¦½μ± λ³΄μ₯
- JVMμ κ°λΉμ§ 컬λ μ (Garbage Collection)μ ν΅ν΄ μλμΌλ‘ λ©λͺ¨λ¦¬λ₯Ό κ΄λ¦¬
- JVMμ Javaμ ν° μ₯μ μΈ μ΄μμ±, μλ λ©λͺ¨λ¦¬ κ΄λ¦¬, μμ μ± λ° νλΆν λΌμ΄λΈλ¬λ¦¬ μνκ³λ₯Ό μ 곡νμ§λ§
μ€ν μλ, λ©λͺ¨λ¦¬ μ¬μ©λ, μμ μκ° λ° λ¦¬μμ€ κ΄λ¦¬μ κ°μ μΌλΆ λ¨μ μ΄ μ‘΄μ¬νλ€.
μ μλ° κ°μ λ¨Έμ (JVM) ꡬ쑰λ₯Ό μμμΌ νλκ°?
μμ€ν μ μ±λ₯μ λμ΄κΈ° μν΄ μλ° κ°μ λ¨Έμ μ ꡬμ±κ³Ό λ©λͺ¨λ¦¬λ₯Ό μλ κ²μ μλ° κ°λ°μλ‘μ νμμ μΈ μΌμ΄λ€.
νΉνλ λ©λͺ¨λ¦¬λ μ¬μ©ν μ μλ 곡κ°μ΄ νμ λμ΄ μκΈ°μ μ΄λ»κ² κ΄λ¦¬νλλμ λ°λΌ νλ‘κ·Έλ¨μ μ±λ₯μ΄ μ’μ°λλ€.
λ°λΌμ, λ©λͺ¨λ¦¬λ₯Ό ν¨μ¨μ μΌλ‘ μ¬μ©νκΈ° μν΄μλ λ©λͺ¨λ¦¬μ ꡬμ±κ³Ό κ° νΉμ§μ λν΄μ μ΄ν΄ν νμκ° μλ€.
'λ°±μλ(Back-End) κ°λ° > Java' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
μ€νν± (static) μ΄λ? (0) | 2025.01.19 |
---|---|
κΈ°λ³Έν λ³μ vs μ°Έμ‘°ν λ³μ (0) | 2025.01.19 |
μΏ ν€(Cookie) vs μΈμ (Session) (0) | 2025.01.19 |
κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°(Object Oriented Programming, OOP) μΈμ΄ (1) | 2025.01.16 |
μλ°(JAVA) μμ½ μ 리 (0) | 2025.01.10 |