Leaning about VM's, JVM in particular

3 views
Skip to first unread message

Andrey Fedorov

unread,
Feb 16, 2010, 11:29:36 AM2/16/10
to Clojure
Hi all,

I'm looking for approaches to learn about VM's, the JVM in particular.
I noticed some local university courses use Virtual Machines (Smith,
Nair) [1]. I'm planning on getting it, but would rather query you guys
for opinions first, and recommendations on other books/resources?

Cheers,
Andrey


1. http://www.amazon.com/gp/product/1558609105/

Robert Campbell

unread,
Feb 16, 2010, 2:19:28 PM2/16/10
to clo...@googlegroups.com
"Some good books that we recommend to get you on your way [to
understanding the JVM/runtime] are: "Java Reflection in Action"
by Ira R. Forman and Nate Forman. "The Java Virtual Machine
Specification" 2nd edition by Tim Lindholm.
"Effective Java" 2nd edition and "Java Puzzlers" by Joshua Bloch. And
"Inside The Java Virtual Machine" 2nd
edition by Bill Venners."

- The Joy of Clojure, by Michael Fogus and Chris Houser who are both
active on IRC and this mailing list.

http://www.manning.com/fogus/

> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clo...@googlegroups.com
> Note that posts from new members are moderated - please be patient with your first post.
> To unsubscribe from this group, send email to
> clojure+u...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en

Jeff Rose

unread,
Feb 17, 2010, 5:15:10 AM2/17/10
to Clojure
I found this book to be a pretty nice as a full introduction to
virtual machines. It was readable, and it has detailed sections on
the JVM and the CLR.

http://www.amazon.com/gp/product/1558609105/ref=wms_ohs_product

Beyond that, one really fun way to get your hands dirty with a virtual
machine is to play with or implement your own universal machine (UM).
This is an incredibly simple VM design that was created for the 2006
ICFP competition. (It has something like 10 instructions.) You can
download the specification and programs that will run on the VM once
you've implemented it here:

http://www.boundvariable.org/task.shtml

Once you implement the VM, which can probably be done in an evening to
a weekend depending on your Clojure chops, you can load an image
provided by the contest, and then actually run a whole unix like OS on
top of your virtual machine, where there are user accounts to hack and
other problems to solve. Really fun stuff, and it does give you a
concrete sense for what a VM has to do and how it works.

cheers,
Jeff Rose

Reply all
Reply to author
Forward
0 new messages