Sun Microsystems Laboratories (Sun Labs) is working on a research effort to address issues with the memory footprint, startup and execution times when running multiple Java applications concurrently.
The Multi-Tasking Virtual Machine (MVM), developed as a prototype by Sun Labs's Barcelona, Spain research team, is a general purpose virtual machine for executing multiple Java applications, according to a description on the java.sun.com Web site. Based on the Java HotSpot Virtual Machine and its client compiler, MVM increases the scalability of Java by hosting multiple tasks.
Although Sun officials were not available to discuss the project on Friday, Sun representatives did acknowledge the research effort. Sun Labs is the applied research and development arm of Sun.
A Java developer cited the potential of MVM.
"I think the MVM could provide the solution to one of the biggest problems of Java: high memory use from multiple Java applications running simultaneously," said developer Matthew Schmidt, vice president of technology at the JavaLobby Java user community.
Java applications tend to use a lot of memory, especially when there are lots of Java Web applications running, Schmidt said. JavaLobby experiences this with its own MyJavaServer.com project, which hosts 30,000 J2EE accounts, he said.
"This looks like it could ease some of the pain," Schmidt said.
The Barcelona team is developing techniques to allow for collocation of multiple applications in a single instance of the virtual machine, according to Sun's research. Currently, every application requires its own JVM, Schmidt said.
"Basically, the MVM is acting similarly to an OS and you would be able to start up multiple applications that would be sharing the process that the MVM is providing," Schmidt said.
MVM is described on java.sun.com as a step toward providing a complete operating environment for Java programs through a set of APIs. A research release of MVM is being developed based on the Java HotSpot Virtual Machine 1.5.
MVM has been applied to J2EE 1.3.1 to increase scalability and reduce memory footprint and startup time when compared with the Java HotSpot Virtual Machine. Productizing of MVM in the Java 2 Platform Standard Edition space is under consideration.
Citing memory advantages of the MVM, the Barcelona team also has been working with another group at Sun to build a virtual machine for cell phone devices in an attempt to productize MVM for the CLDC (Connected Limited Device Configuration) specification. CLDC defines a set of APIs and a virtual machine for devices such as mobile phones and pagers.