Original link: Building your own JVM Interpreter from scratch / Sai Krishna Kadali.
Building an interpretet only JVM in Java is one of those things that beg the question: why?
But the reason given:
Building a simplified version of the JVM, even a “toy” JVM, can be an incredibly insightful way to understand what’s really going on when you run Java code. By breaking down class files, parsing bytecode, and interpreting opcodes, you can gain a deeper understanding of the core mechanics of Java, from memory management to exception handling.is actually not bad. C programmers can also become better C programmers by doing some assembly programming!