Frudy
6k
2019-04-05 13:33:07 작성 2019-04-05 13:38:53 수정됨
2
264

간단한 로컬변수 질문이 있어요.



	public void method()
	{
		String str = null;
	}


이렇게만 해도,

Stack에 str의 메모리 잡히지않아요?

저 안에 아직 아무도 가르키지 않아서 안에 null이 저장되어있을 뿐...


자세하게 말씀드리면,

static으로 선언하지 않았기 때문에, 컴파일과정에서는 Stack에 잡히지 않고,

실행하고 method()가 실행됬을 때,

String의 인스턴스인 str이 Stack 메모리에 잡혔지만

null이 저장되어있어서 아직 Heap의 객체를 가리키고 있지않다.


제가 잘못알고있나해서요...


저렇게만 선언해도 분명 실행시 메소드호출하면 

null이 저장될 str변수가 Stack메모리에 분명 잡히는걸로 알고있어요.



0
  • 답변 2

  • 천재서비
    599
    2019-04-05 15:03:27

    https://blusky10.tistory.com/63


    중간부분 보시면 설명이 되실듯

  • 천재서비
    599
    2019-04-05 15:13:07

    그냥 java null stack  이런식으로..

    한글보단 영문이 더 잘나와요 


  • 로그인을 하시면 답변을 등록할 수 있습니다.