JC Virtual Machine - Converts Java to C
JC Virtual machine converts Java class files to C source code. It uses SOOT Java Bytecode analysis framework to convert the Java files to C. It could also compiles with GCC and loads them with built-in ELF loader. Additional to that, JC provides a complete Java runtime with optimization to increase performance.
JC optimizes the code at code generation time which increases its runtime performance. It does have good interpreter but most of the jobs are done at the code generation time. When combined with the proven power of GCC's C optimizer the results are impressive.
Additional to C conversion and Java runtime, It has thread support based on the POSIX pthread(3). Support for JNI, Reflection and Java 2 style loader support is also available. It uses GNU Classpath to provide java runtime.
comments powered by Disqus
Apache Harmony is a modular Java runtime with class libraries and associated tools. One of the goals of the Harmony project is to create a design modular enough so that parts of the VM can be implemented in different languages. This project started in 2005 and it is under active development.
cacaovm is a Java Virtual Machine (JVM) which uses Just-In-Time (JIT) compilation to execute Java methods natively. cacaovm uses GNU Classpath or OpenJDK or phoneME as Java runtime library. The cacaovm project started as a research JVM to explore new implementation techniques. The first version for the Alpha was released in February 1997 as a binary.
GNU Classpath provides core class libraries for use with virtual machines and compilers for the java programming language. GNU Classpath 1.0 will be fully compatible with the 1.1 and 1.2 API specifications, in addition to having significant compatibility with the 1.3, 1.4, 1.5 and 1.6 APIs.
Java Standard Edition provides Java development kit and Runtime to develop and deploy Java programs. Developed by Sun and take over by Oracle. It has support for different environments like Desktop, Embedded, Web, Realtime etc.
IKVM.NET is an implementation of Java for Mono and the Microsoft .NET Framework. It has JVM implemented in .NET. A .NET implementation of Java class libraries. It is interoperable between Java and .NET.
What is it? Like JVM, It's a virtual machine. It has a set of bytecode. What special is it? The vm is designed for multi-thread in nature. It has no stack or registers. and every instrument is an atomic operation. so it cost nothing when context switching. How fast is it? Well, it is about 20x - 100x times slower than Java JVM or C on x86. It is reasonable for interpreted ones. I is an experimental VM just for my joy and curious. there is a benchmark What plan is it in the future? It was done, a
Rubinius is an environment for the Ruby programming language providing performance, accessibility, and improved programmer productivity. Rubinius includes a bytecode virtual machine, Ruby syntax parser, bytecode compiler, generational garbage collector, just-in-time (JIT) native machine code compiler, and Ruby Core and Standard libraries.