On this forum the term 'Virtual PC' often means a virtual machine that lets you run one OS inside another.
Do you mean a VM done mostly in Java?
Java is a virtual machine itself, in a manner of speaking. But nit is not really a Operating System. So the idea of running an operating system in Java code on top of another system seems rather odd. Is there some need for this?
During the development of new concepts in computerizing, of in testing new hardware, some sort of emulation or symbolic testing is needed. Tools of that sort are rather specialized.
It is not clear why you want a VM written in Java.