Piccola domanda...

void go() { // recursion gone bad
go();
}

Al runtime viene provocata la seguente eccezione:

java.lang.StackOverflowError

Perchè? Perchè viene richiamato sempre il metodo go(), sino a quando la JVM esaurisce la memoria?

Grazie in anticipo.