2011-09-23 6 views

답변

7

귀하의 질문 자체에 오류가 있습니다 : 당신은에 액세스 할 수 자체는 어디에도 저장되지 않는 방법; 거기에로드 된 코드가가는 특별한 "방법 공간"이 있습니다. 정적 필드는 "PermGen space"라는 특수 힙 영역에 저장되는 클래스 정의 내에 저장됩니다. 정적 메서드는 일반적인 메서드와 마찬가지로 일반 Java 저장소에 저장되지 않습니다.

+0

내가 들었는데, A() 메서드 내에서 B() 메서드를 호출하면됩니다. 메소드 B()는 스택의 A() 맨 위에 저장됩니다. 거짓인가? – sam

+0

그것은'A()'와'B()'에서 사용 된 * 지역 변수 *에 관한 진실한 진술입니다; 방법 자체에 대해서는 사실이 아닙니다. 메소드를 호출 할 때, 스택의 로컬 변수에 대한 공간이 따로 설정됩니다. 그런 식으로 메소드는 자신을 호출 할 수 있고 각 호출은 자체의 개인 변수 세트를 가져옵니다. 이것은 메소드 (코드?)가 저장되는 곳과 아무런 관련이 없습니다. –