필자는 Java가 수동으로 힙 크기를 설정해야하는 이유에 대해 항상 궁금해했습니다. 다른 언어로 작성된 프로그램은 OS가 더 이상 할당 할 수 없을 때까지 프로그램이 실행될 때 필요한만큼의 메모리를 할당한다는 인상을 받았습니다.왜 Java 힙 크기를 지정해야합니까?
자바에서는 힙, 스택 및 permgen 크기를 설정해야합니다. 이것이 "충분히 큰"숫자로 늘리는 것을 잊어 버리는 것은 간단하지만 서버가 떨어지는 것을 보았습니다.
시간이 지남에 따라 필요한만큼 힙/스택/permgen을 확장하도록 Java에 지시 할 수없는 이유는 무엇입니까?
첫 번째 지점에 대한 정보가 있습니까? 나는 "자바가 웹 어플리케이션을 작성하기위한 것이었다"는 말을 들어 본 적이 없다. (자바의 역사를 파고 들지는 않았지만 ...) – Mike
신의 경지.Java는 정교한 케이블 TV 튜너에서 가질 수있는 것과 같은 셋톱 박스 소프트웨어를 구현하려는 Oak의 자손입니다. 가비지 콜렉션이 실행되는 한, 메모리 한계에 도달하지 않을 때가 아니라 오브젝트에 액세스 할 수 없을 때 가비지가 수집됩니다. –
@Edwin Buck :'메모리 한계에 도달했을 때가 아니라 객체에 접근 할 수 없을 때 가비지가 수집됩니다. '그렇지만 "즉시"GCd가 아닙니다. 수행해야 할 속도는 힙 크기에 따라 달라지며 성능에 매우 중요 할 수 있습니다. –