2
나는 왜 paint()
메서드가 StackOverflowError를 생성하지 않는지 궁금해하고있다. paint()
은 백그라운드에서 반복적으로 실행되어야한다는 것을 알고 있지만 컴퓨터가 StackOverflowError를 생성하지 않고 처리 할 수있는 속도로만 호출하도록 제한하는 것은 무엇입니까? 너무 많은 메모리를 사용하는 시점까지 paint()
을 반복하지 않도록 하시겠습니까? 무슨 일이 일어나고왜 paint()가 StackOverflowError를 작성하지 않습니까?
-> stack overflow <-
paint()
...
paint()
paint()
paint()
...
main()
그러나 다음 귀하의 경우 :
'paint '의 구현에서'paint'를 다시 호출하는 것으로 보이는 코드는 무엇입니까? –
스택 오버플로는 (거의 항상) 지나치게 커지는 리시브 함수로 인해 발생합니다. 무엇인가 계속해서 호출하면 StackOverflow가 발생하지 않습니다 (그러나 사용 가능한 모든 CPU를 다 써 버릴 수도 있고 다른 응용 프로그램을 느리게 할 수도 있습니다) –
StackOverflowError가 무엇인지, 그 원인은 무엇입니까? 무한 재귀 호출을 덮어 쓰지 않는 한'paint()'메쏘드와 아무런 관련이 없다. – BackSlash