Mar 19: Here is the shortest implementation of the JVM in Java. To run it on the class Inh, compile both JVM.java and Inh.java, and then
type:
> java JVM Inh
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Entering main with arguments: Inh
Created JVM@3169f8
Initializing JVM@3169f8 with class Inh
Running Inh.main( ) on JVM@3169f8
2
<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Because this JVM is written in Java, it can run on itself!
> java JVM JVM JVM JVM Inh
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Entering main with arguments: JVM JVM JVM Inh
Created JVM@3169f8
Initializing JVM@3169f8 with class JVM
Running JVM.main(JVM JVM Inh ) on JVM@3169f8
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Entering main with arguments: JVM JVM Inh
Created JVM@2e000d
Initializing JVM@2e000d with class JVM
Running JVM.main(JVM Inh ) on JVM@2e000d
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Entering main with arguments: JVM Inh
Created JVM@55af5
Initializing JVM@55af5 with class JVM
Running JVM.main(Inh ) on JVM@55af5
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Entering main with arguments: Inh
Created JVM@12e78c
Initializing JVM@12e78c with class Inh
Running Inh.main( ) on JVM@12e78c
2
<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<