T1) java λͺ λ Ήμ΄λ‘ JVMμ΄ κ΅¬λλλ€λ©΄ JVMμ μ΄μ체μ μμ ν λΉλ°μ λ©λͺ¨λ¦¬ μμ(Runtime Data Area)μ μ΄λ»κ² ꡬλΆν΄μ μ¬μ©ν κΉ?
- λ©μλ μμ(Method) :
- λ°μ΄νΈμ½λ νμΌμ μ½μ λ΄μ©μ΄ μ μ₯λλ μμμ΄λ€.
- ν΄λμ€λ³λ‘ μμ, μ μ νλ, λ©μλ μ½λ, μμ±μ μ½λ λ±μ΄ μ μ₯λλ€.
- ν μμ(Heap) :
- κ°μ²΄κ° μμ±λλ μμμ΄λ€.
- κ°μ²΄μ λ²μ§(μ£Όμ)λ λ©μλ μμκ³Ό μ€ν μμμ μμμ λ³μμμ μ°Έμ‘°ν μ μλ€.
- μ€ν μμ(Stack) :
- λ©μλλ₯Ό νΈμΆν λλ§λ€ μμ±λλ νλ μ(Frame)μ΄ μ μ₯λλ μμμ΄λ€.
- λ©μλ νΈμΆμ΄ λλλ©΄ νλ μμ μλ μ κ±°λλ€.
- νλ μ λ΄λΆμλ λ‘컬 λ³μ μ€νμ΄ μλ€. νλ μ λ΄λΆμμ κΈ°λ³Έ νμ λ³μμ μ°Έμ‘° νμ λ³μκ° μμ±λκ³ μ κ±°λλ€.
κ²°λ‘ :
==, != μ°μ°μλ‘ κ°μ²΄λ₯Ό λΉκ΅ν λ μ°Έμ‘°νμ μ λ³μμΈ κ²½μ°μλ κ°μ κ°μ²΄λ₯Ό μ°Έμ‘°νλ μ§ νμΈνλ κ²μ΄λ€. κ·Έλ κΈ°λλ¬Έμ κ°μ κΈμμ¬λ μ°Έμ‘°νλ λ³μκ° λ€λ₯Ό κ²½μ° κ°μ§ μμ κ²μ΄λΌλ κ²°λ‘ μ΄ λμ¨λ€.
public class StringVarTest {
public static void main(String[] args) {
String str1 = "λ¬Έμμ΄ μ°Έμ‘° λ³μ";
String str2 = "λ¬Έμμ΄ μ°Έμ‘° λ³μ";
String str3 = new String("λ¬Έμμ΄ μ°Έμ‘° λ³μ");
System.out.println(str1);
System.out.println(str2);
System.out.println(str3);
System.out.println(str1 == str2);
System.out.println(str1 == str3);
}
}
μΆλ ₯κ²°κ³Ό :
*μΆκ° :
- μ°Έμ‘° νμ μμ§ λ²μ§λ₯Ό μ μ₯νκ³ μμ§ μλ€λ λ»μΌλ‘ null(λ) κ°μ κ°μ§ μ μκ³ , μ΄κΈ°κ°μΌλ‘ μ¬μ©ν μ μλ€. μ΄κΈ°κ°μ΄ nullμΈ κ²½μ° μ°Έμ‘°νκ³ μλ λ²μ§κ° μλ€λ λ»μ΄κΈ° λλ¬Έμ μ€νμμμ μμ±λλ€.
- λν λ³μκ° nullμΈ μνμμ κ°μ²΄μ λ°μ΄ν°λ λ©μλλ₯Ό μ¬μ©νλ € ν λ μμΈκ° λ°μνλλ° μ΄λ₯Ό NullPointerExceptionμ΄λΌ νλ€.
- μ΄λ€ λ³μμμλ κ°μ²΄λ₯Ό μ°Έμ‘°νμ§ μμΌλ©΄ ν΄λΉ κ°μ²΄λ νλ‘κ·Έλ¨μμ μ¬μ©ν μ μλ κ°μ²΄κ° λκ³ ν λ©λͺ¨λ¦¬μ μ‘΄μ¬νμ§λ§ μμΉ μ λ³΄κ° μκΈ° λλ¬Έμ μ¬μ©ν μ μκ²λλ€. κ·Έλ κ² λλ©΄ μλ°μμλ ν΄λΉ κ°μ²΄λ₯Ό μ°λ κΈ°λ‘ μ·¨κΈνκ³ μ°λ κΈ° μμ§κΈ°(Garbage Collector)λ₯Ό μ€νμμΌ μλμΌλ‘ μ κ±°νλ€.
μΆμ² λ° μ°Έκ³ : μ΄κ²μ΄ μλ°λ€(κ΅μ‘ νμ₯μμ κ°μ₯ λ§μ΄ μ°μ΄λ JAVA νλ‘κ·Έλλ°μ κΈ°λ³Έμ)
https://search.shopping.naver.com/book/catalog/34238594620?cat_id=50010920&frm=PBOKMOD&query=%EC%9D%B4%EA%B2%83%EC%9D%B4%EC%9E%90%EB%B0%94%EB%8B%A4&NaPm=ct%3Dlocm18y8%7Cci%3D0e64b25f86693278b2d96906cbe4b981fe74c6d5%7Ctr%3Dboknx%7Csn%3D95694%7Chk%3D95e00da716b01b77d749d200eae34c788eb63950
'π Today I Learned(κ°λ°μΈμ΄νμ΅) > JAVA' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[JAVA] λ¬Έμμ΄ μλ₯΄κΈ° Β· λΆλ¦¬( substring() Β· split() ) (0) | 2023.11.07 |
---|---|
[JAVA] λ¬Έμμ΄ κΈΈμ΄ Β· λ¬Έμμ΄ λ체 (0) | 2023.11.06 |
[JAVA] λ°μ΄ν° νμ λΆλ₯ (0) | 2023.11.04 |
[JAVA] Switch Expressions (Java 12μ΄ν) (0) | 2023.11.03 |
[JAVA] NaNκ³Ό Infinity (0) | 2023.11.02 |