Tiny Bunny
λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
πŸ’»/JAVA

[JAVA] μžλ°” λ©”λͺ¨λ¦¬ ꡬ쑰

by soonybutter 2024. 8. 28.
728x90

 

 

μžλ°” λ©”λͺ¨λ¦¬ ꡬ쑰

 

μžλ°”μ˜ λ©”λͺ¨λ¦¬ κ΅¬μ‘°λŠ” λ©”μ„œλ“œ μ˜μ—­, μŠ€νƒ μ˜μ—­, νž™ μ˜μ—­ 으둜 λ‚˜λˆŒ 수 μžˆλ‹€.

 

μžλ°”μ—μ„œ μ–΄λ–€ λ™μž‘μ„ ν•˜λƒμ— 따라 각각의 λ©”λͺ¨λ¦¬κ°€ μ €μž₯ν•˜λŠ” μš”μ†Œκ°€ λ‹€λ₯Έλ°, κ°„λ‹¨νžˆ μ •λ¦¬ν•΄λ³΄μž! 

 

 

  • λ©”μ„œλ“œ μ˜μ—­(Method Area)
  • 클래슀 정보λ₯Ό μ €μž₯ν•œλ‹€. (ν΄λž˜μŠ€κ°€ μ‹€ν–‰λ˜λŠ” μ½”λ“œ, ν•„λ“œλ“± λͺ¨λ“  μ½”λ“œκ°€ μ‘΄μž¬ν•¨.)
  • static λ³€μˆ˜λ“€μ„ λ³΄κ΄€ν•œλ‹€.

 

  • μŠ€νƒ μ˜μ—­(Stack Area)
  • μžλ°”λ₯Ό μ‹€ν–‰ν•˜λ©΄, ν•˜λ‚˜μ˜ μ‹€ν–‰ μŠ€νƒμ΄ μƒμ„±λœλ‹€.
  • μŠ€νƒν”„λ ˆμž„: μ§€μ—­λ³€μˆ˜, 쀑간 μ—°μ‚°κ²°κ³Ό, λ©”μ„œλ“œ ν˜ΈμΆœκ²°κ³Όλ“±μ„ ν¬ν•¨ν•œλ‹€.
  • λ©”μ„œλ“œλ₯Ό ν˜ΈμΆœν• λ•Œλ§ˆλ‹€ ν•˜λ‚˜μ˜ μŠ€νƒ ν”„λ ˆμž„μ΄ μŠ€νƒμ— μŒ“μ΄κ³ , λ©”μ„œλ“œκ°€ μ’…λ£Œλ˜λ©΄ ν•΄λ‹Ή μŠ€νƒ ν”„λ ˆμž„μ΄ 사라진닀.

 

  • νž™ μ˜μ—­(Heap Area)
  • 객체(μΈμŠ€ν„΄μŠ€), 배열이 μƒμ„±λ˜λŠ” μ˜μ—­μ΄λ‹€.
  • 더이상 μ°Έμ‘°λ˜μ§€ μ•ŠλŠ” κ°μ²΄λŠ” μžλ°”μ˜ GC(Garbage Collection)에 μ˜ν•΄ μ œκ±°λœλ‹€.

 


 

 λ§Œμ•½, μžλ°”μ—μ„œ 5개의 μΈμŠ€ν„΄μŠ€λ₯Ό μƒμ„±ν•˜λ©΄

νž™ λ©”λͺ¨λ¦¬μ— 5개의 μΈμŠ€ν„΄μŠ€κ°€ μƒμ„±λœλ‹€. 각각의 μΈμŠ€ν„΄μŠ€λŠ” 내뢀에 λ³€μˆ˜μ™€ λ©”μ„œλ“œλ₯Ό 가진닀.

μΈμŠ€ν„΄μŠ€ λ‚΄λΆ€μ˜ λ³€μˆ˜μ˜ 값듀은 μ„œλ‘œ λ‹€λ₯Ό 수 μžˆλ‹€. ν•˜μ§€λ§Œ λ©”μ„œλ“œλŠ” κ³΅ν†΅λœ μ½”λ“œλ₯Ό κ³΅μœ ν•œλ‹€.

μΈμŠ€ν„΄μŠ€ λ³€μˆ˜μ—λŠ” λ©”λͺ¨λ¦¬κ°€ ν• λ‹Ήλ˜κ³ , λ©”μ„œλ“œμ— λŒ€ν•œ μƒˆλ‘œμš΄ λ©”λͺ¨λ¦¬ 할당은 μ—†κΈ°λ•Œλ¬Έμ΄λ‹€.

λ©”μ„œλ“œλŠ” μ˜€λ‘œμ§€ λ©”μ„œλ“œ μ˜μ—­μ—μ„œλ§Œ κ³΅ν†΅μœΌλ‘œ κ΄€λ¦¬λœλ‹€.

 

 

 

 

 

 

 

 

*좜처: κΉ€μ˜ν•œ μžλ°”

728x90

TOP

Designed by ν‹°μŠ€ν† λ¦¬