해결된 질문
작성
·
805
·
수정됨
0
기본적으로 힙과 스택이 어떤 식으로 사용되는지는 알고 있는데요,
다만 스택의 기본 최대 크기가 1MB라는 점이 잘 이해가 안됩니다..
아마 제가 실무를 경험해본 적이 없어서 공감을 못하는 듯한데
이 1MB라는 것이 기본값으로 쓰일 만큼 적절한 크기인가요?
제 생각엔 그렇게 널널한 크기는 아닌 듯한데.. 그렇게까지 아껴야 하는 이유가 뭘까 싶어서 질문드립니다
그냥 힙 영역을 최대한 많이 확보하기 위해서라고 생각하면 될까요?
답변 1
1
네, 크게 부족하지 않습니다. 스택이 메모리는 스레드마다 동일하게 부여됩니다. 싱글 스레딩 상황에서는 큰 문제가 없을지 모르지만 멀티스레딩 상황에서 불필요하게 스택 메모리를 높여버리면 모든 스레드가 스택을 크게 할당하게 되고 이는 스스로 생각하는 것처럼 힙영역 등 다른 용도 메모리 공간을 줄이는 원인이 됩니다. 결국 자원 운영 효율에 관한 문제로 이해하면 되겠습니다. 감사합니다.
그렇군요..^^ 알고리즘 문제를 풀면서 스택 오버플로우를 종종 겪다보니 실무에서도 그러한지? 라는 생각을 하곤 했습니다 물론 실수가 원인이지만요~감사합니다^^