Resources on implementing my own JVM?

Posted on 2002-06-12
Last Modified: 2008-03-17

I want to implement my own JVM on a limited memory hardware device. The JVM will probably be more compact than that which is used in J2ME. Does anyone know of any great resources I could use for doing this? I'm kind of looking for a "how to write a JVM" book, web site and so forth.


Question by:matth012098
  • 3
  • 2
LVL 86

Accepted Solution

CEHJ earned 100 total points
ID: 7073289
You'll certainly need 'The Java Virtual Machine Specification' of Sun and a good book on the VM is Bill Venners' 'Inside the Java Virtual Machine'
LVL 35

Expert Comment

ID: 7073303
 The Java Virtual Machine specification is the first place to start:

  Hope it helps.
LVL 35

Expert Comment

ID: 7073307
 Sorry for the double URL... CEHJ ws faster :-)
Live: Real-Time Solutions, Start Here

Receive instant 1:1 support from technology experts, using our real-time conversation and whiteboard interface. Your first 5 minutes are always free.

LVL 19

Assisted Solution

by:Jim Cakalic
Jim Cakalic earned 100 total points
ID: 7076174
Sometimes complete working examples help; and there are several open-source JVMs available as references:

AFAIK, all of these are open source or licensed under a variant of the GPL or BSD licenses. Each is a working project that includes implementation of both a bytecode interpreter as well as core class libraries. Both of these are essential for a working VM.

An excellent reference for understanding JVM workings is the book "Inside the Java Virtual Machine" by Bill Venners. He also maintains a complementary website. In addition to excerpts from the book, there is a variety of resources that include interactive simulations that demonstrate JVM concepts, a number of articles originally published for the "Under the Hood" column at JavaWorld, and links to other resources that might be of use.

Best regards,
Jim Cakalic
LVL 35

Expert Comment

ID: 8860370
No comment has been added lately, so it's time to clean up this TA.
I will leave a recommendation in the Cleanup topic area that this
question is:

- split points between CEHJ and jim_cakalic

Please leave any comments here within the
next seven days.


Cleanup Volunteer
LVL 19

Expert Comment

by:Jim Cakalic
ID: 8877810
OK by me.

Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
firstswap challenge 20 77
Weekend adv creator 3 36
session migration servlets 2 35
SHA2 certs for IIS AND Java? 2 77
Java contains several comparison operators (e.g., <, <=, >, >=, ==, !=) that allow you to compare primitive values. However, these operators cannot be used to compare the contents of objects. Interface Comparable is used to allow objects of a cl…
Java had always been an easily readable and understandable language.  Some relatively recent changes in the language seem to be changing this pretty fast, and anyone that had not seen any Java code for the last 5 years will possibly have issues unde…
Viewers will learn one way to get user input in Java. Introduce the Scanner object: Declare the variable that stores the user input: An example prompting the user for input: Methods you need to invoke in order to properly get  user input:
This theoretical tutorial explains exceptions, reasons for exceptions, different categories of exception and exception hierarchy.

815 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now