Additionally, the Drip project [2] uses a swapping strategy, by keeping an additional JVM spun up in the background. It was apparently built because the authors had trouble with persistent JVMs containing old dependencies.
[1] http://www.martiansoftware.com/nailgun/
[2] https://github.com/flatland/drip