νλ‘κ·Έλ¨μμ μ¬μ©λμ§ μλ κ°μ²΄λ₯Ό(κ°λΉμ§) μ°Ύμ λ©λͺ¨λ¦¬λ₯Ό νμνλ μμ /λͺ¨λ
μ΄ λ κ°λΉμ§λ Heap μμμ λμ μΌλ‘ ν λΉνλ λ©λͺ¨λ¦¬ μ€ νμ μκ² λ λ©λͺ¨λ¦¬ κ°μ²΄λ₯Ό κ°λ¦¬ν€λ©° Garbage Collection
μ μ νλ λ©λͺ¨λ¦¬ 곡κ°μ ν¨μ¨μ μΌλ‘ μ λ¦¬ν΄ μλ‘μ΄ κ°μ²΄κ° μνν ν λΉλλλ‘ νλ€.
for(int i=0; i<10000; i++){
A a = new A();
a.hi();
}
10000κ°μ κ°μ²΄κ° μμ± λ° μ¬μ©λμμΌλ λΈλ‘ λ°μΌλ‘ λκ°λ©΄ μΈλͺ¨κ° μμ΄μ§λ€.
C/C++ κ°μ low levelμ κ°κΉμ΄ μΈμ΄λ€μ μ§μ λ©λͺ¨λ¦¬ ν λΉκ³Ό ν΄μ λ₯Ό ν΄μ€ μ μκ³ , λ ν΄μ€μΌ νμ§λ§ Javaμμλ GCμ μν΄ λ©λͺ¨λ¦¬ κ΄λ¦¬κ° ν¨μ¨μ μΌλ‘ μ΄λ£¨μ΄μ§λ€.
μμμ λ€ ν΄μ£ΌλκΉ μ κ²½ μ μ¨λ λλ€κ³ μκ°νκΈ° μ½μ§λ§ μ΄λ¬ν GCμλ μ μν΄μΌ ν μ μ΄ μλ€.
μλμΌλ‘ μ²λ¦¬κ° λλ€κ³ νλλΌλ λ©λͺ¨λ¦¬κ° μΈμ ν΄μ λλμ§ μ ννκ² μ μ μμΌλ―λ‘ μ μ΄νκΈ° νλ€λ©° GCκ° λμνλ λμμλ λ€λ₯Έ λμμ΄ λ©μΆκ² λλ Stop the World
λ¬Έμ κ° μλ€.
μ΄ λλ¬Έμ GCκ° λ무 μμ£Ό μ€νλκ² λλ©΄ μ±λ₯ νλ½μΌλ‘ μ΄μ΄μ§λ€.
λ°λΌμ νλ‘κ·Έλ¨μ μ¬μ©μ±μ λ§κ² GCκ° ν¨μ¨μ μΌλ‘ μνλλλ‘ μ΅μ ννλ GC νλ μμ μ νκΈ°λ νλ€.