Sunday, June 8, 2003 09:42 AM
hmm... It depends on what you call 'kill the JVM'. Sending a termination signal to the JVM process from the Unix command line or using the Task Manager on Windows will stop any JVM in its tracks, no matter what your code says. That is one of the prerogatives of the operating system, to expell any guest at any time... the consequence of this action could be a leakage of system resources that would not be realeased properly by the JVM to the underlying OS.
The other possible meaning of 'kill', is initiate a termination from within the JVM itself. In this case, the JVM will only terminate when the last non-daemon threads has terminated execution. So as suggested, daemon threads can still be present in the system at the time of shutdown and not trigger a continuation.