posted 23 years ago
Hmmm! Nobody seems to have an answer for Andre's question. . . . My guess is that when creating instances of Thread subclasses, the JVM doesn't use the stack to create the instance, but uses the heap instead. On the other hand, for non-thread objects, the JVM uses the stack to hold some values. Therefore when the recursive creation of instances occurs, for Thread extended objects, it keeps going till some resource is exhausted (RAM, I think). For non-Thread objects, the stack overflow condition occurs earlier because the size of the stack is (???) is smaller than the amount of RAM available.
Bartender, we need a strong cup of Java here. :-)