1. A system for locking memory areas in a Java Virtual Machine (JVM) to facilitate sharing between virtual servers, comprising: a computing or virtual execution environment which includes one or more physical computers; a hypervisor for use with the computing or virtual execution environment; a virtual machine that includes a compiler and a memory space or heap for storage of compiled bytecode, and that allows one or more application images to be run on the computing or virtual execution environment, wherein the one or more application images includes an application server instance; and wherein the application server instance uses a first portion of the memory space or heap during its startup process, and is configured so that it signals to the virtual machine when the application server instance has completed its startup process, and when the virtual machine receives a signal from the application server instance, it internally write-protects or locks a page used for application server code memory, so that any new compiled or re-optimized code is subsequently written into a new or second portion of the memory space or heap.