The Java is emerging as a software-distributing standard. The Java language provides a promising solution to the design of safe programs, with an application spectrum ranging from Web services to operating system components.
The well-known tradeoff of Java's portability is the inefficiency of its basic execution model, which relies on the interpreter to bridge the gap between the bytecode and the native code. Many solutions have been proposed to overcome this problem, such as dynamic compilation model and static compilation model. However, most compilers trade efficiency for either the portability or the transparency.
A dynamic compilation model generates native code from Java bytecode at runtime. As such, compilation speed is more important in a dynamic compilation model than in a static compilation model. In a dynamic compilation model a compilation time is included in the initialization time of JVM, so program is stalled by dynamic compilation.
In this paper, we suggest a new approach which reconciles portability and efficiency. We have designed and implemented a Java Virtual Machine for short initialization time. To evaluate the performance benefits of the short initialization time we use SPEC JVM98. An initialization time of our JVM is 2 to 5 times faster than the Kaffe OpenVM. And we propose a new hybrid compilation model which preserves safety, security and portability and improves performance of JVM.