Disseration Page of Albrecht Wöß

A Single-Workspace Java Environment

Short Description

Developing Java applications is often slowed down by being forced to restart a Virtual Machine (VM) after each modification of the code in order to test it. There is no way to explicitly unload single classes or small interdependent groups of classes, instead of unloading everything (by shutting down the VM).

In this project (which is part of an ongoing PhD thesis work) we try keep one single VM running all the time, so that start-up delay will occur only once. From within the single "application manager" application, we start and stop other applications and allow explicit unloading of classes. All applications that are executing within this environment share all loaded classes entirely, i.e. all code and data is loaded only once and then reused (shared).

This not only reduces the class loading effort tremendously, it also paves the road for a (to Java) unique way of interaction and cooperation between different applications, because they can all see and modify each others state.

Detailed Description

I laid out the ideas of this project in more detail in a poster presentation and extended abstract at OOPSLA 2001.