although running a jvm inside of a jvm sounds fun, wouldn't this slow down an already slow interpreted application?
For example there is also a Truffle implementation of C running on the JVM that runs some benchmarks faster than native C (due to runtime optimisations being better than static optimisations.)
I get what you are trying to say but if (!) you use JVM you are using an interpreter.
[1] https://web.archive.org/web/20190911160010/http://www.hanno....
You're using an interpreter to start with, but then it dynamically compiles machine code to run instead of using the interpreter.
But these terms are very fluid. I'd call HotSpot an interpreter, and a compiler, and both at the same time. It depends how you're looking at it at that moment.