2008. 8. 14. 16:03

Stack 메모리와 Heap메모리 개념정리(수업내용)

값저장

ex) 3,  2,3,4,5, "Hello" ....

a>int num = 3;

b>배열 배열은 같은type만저장

c>Collection 객체만 저장 가능

     └--->Vector,ArrayList,Map..


Heap 메모리 :저장된데이터를 Direct로 접근(JVM에의한Gabage Collection)

Stack메모리 : 레퍼런스 거쳐서접근


heap   인스턴스변수를포함한객체(=instance)=>객체가생성될때만들어지고 객체소멸시 삭제(new해서 객체생성될때마다)

stack   local변수 메소드호출시 생성 메소드 끝나면 소멸 (메소드호출할때마다)

class area 메모리   static변수(class변수)=>프로그램실행될때 생성 프로그램종료될때 소멸(main()메소드)

┌─────────┐

│      Animal            │

├─────────┤

│+name:String         │

│+getName(n:String)│

│+Animal(n:String)   │

└─────────┘

public class Animal{

       public static name;

       public String getName(){return name;}

       public Animal(String n){name=n;}//파라메터 변수는 local변수

}



public class TestAnimal{

       public static void main(String [] args ){

       Animal a = new Animal("고양이");

       System.out.println(a.getName);

       }

}







java memory

heap 인스턴스변수(=attribute)
stack (LIFO)local변수