CONTENTS

Home
Updates
Software
Electronics
Android / iOS
Videos
Music
Resume
Contact



HTTPS VERSION

Naken Java

Introduction

So I guess this project is kind of worthless since there are already plenty of Java virtual machines around, but I was curious about internals of the JVM so I put this together. I have a couple interesting ideas for it that I might implement later.

Status

So I started this on Tuesday night (January 27, 2009) and posted this Sunday (February 1, 2009) so there isn't even a weeks worth of work in it, specially since during the week I only have time to work on it nights. It does currently run some small Java programs. The only classes I have implemented are System.out.println(I) and a System.out.println(F) just so programs can output something to compare against Suns JVM. Many of the Java instructions aren't implemented yet either and there isn't a lot of bounds checking so it's not very safe. So here is my to do list if I ever decide to finish it:

- Implement missing instructions
- Implement object oriented stuff (protected, final, object references, etc)
- Bounds checking
- JNI Interface so java.lang.* can be implemented in C
- Optimizations to speed it up

Example

In the download below there is a Testing.java. I combined the following three commands to create this text file:

cat Testing.java
javac Testing
./naken_java Testing.class

Click here to see the output.

Download

naken_java-2009-02-01.tar.gz

Copyright 1997-2018 - Michael Kohn