1. A method of saving in suspended form an application running on a software virtual machine on a computer system, comprising the steps of: receiving a call from an application for placing the virtual machine and application into a state of suspension; determining the current state of the components of the virtual machine, including heap, threads, and stack; and storing the determined state into a save file.