Java 7 Virtual Machine for Learning Puroposes. It is written in C++11. It uses GNU Classpath, Boost v1.67.0 and wallaroo v0.7.0
This project was something I wrote because I wanted to challenge myself and because I wanted to learn about Virtual Machines.
This project is public so that anyone who is interested in learning about Virtual Machines can use it as resource.
I didn't want to call it "Yet another JVM". This is the second incarnation of the project, hence the "2" at the end.
When I started the project, Java 7 was the latest version. Because this is only a pet project for learning, I have never felt the need to upgrade.
JVMX2 is a 32 bit application for now, it will run on x64 but it will use a maximum of 2GB of ram. The main reason for this is that I still need to do the work for the Java Native Interface on x64 architectures. Pull requests are welcome.
Not at the moment. My focus has been getting it working on my development machine, which is Windows. There is an OS abstraction layer and everything is meant to be portable, but no porting has happened. Pull requests are welcome.
This project requires the GNU Classpath to run. I am distributing a compiled version of the classpath along with the JVMX2 binary. Please see the license file in the classpath
folder for what you can do with GNU Classpath.
You can run JVMX2 Tests/TestThreads.class
, for example, to test the JVM.