JamVM is a new Java Virtual Machine which conforms to the JVM specification version. In comparison to most other VM's it is extremely small, with a stripped executable on PowerPCs. However, unlike other small VMs it is designed to support the full specification, and includes support for object finalisation, Soft/Weak/Phantom References, class-unloading, the Java Native Interface (JNI) and the Reflection API. JamVM includes a number of optimisations to improve speed and reduce foot-print.
JamVM features include native threading, handle-less object references( direct pointers), class loaders support, efficient thin locks for fast locking in uncontended cases without using spin-locking, two word object header to minimise heap overhead (lock word and class pointer) , execution engine support for basic switched interpreter and threaded interpreter, to minimise dispatch overhead, efficient garbage collector, full object finalisation support within the garbage collector (with finaliser thread), full support for Soft/Weak/Phantom References (with Reference Handler thread), full support for class and class-loader garbage-collection and unloading (including associated shared libraries) and many more. Significantly JamVM is written in C, with a small amount of platform dependent assembler, and is easily portable to other architectures.
Java Development India offers Java Virtual Machine(JavaVM) development, Java Virtual Machine(JavaVM) consulting and Java Virtual Machine(JavaVM) related solutions from our offshore software development outsourcing centre at Kochi, Kerala in India.
|