Sharing the virtual machine
This was an interesting session. Many details about how to increase performance and reduce the memory footprint were discussed. An example would be a single computer with multiple virtual machine's each running their own application. Each VM loading java.lang.String is wasteful and could be made better if multiple applications could run inside an MVM(Multitasking Virtual Machine). This concept is very similar to Operating System processes and threads. i.e. Creating a new process is an expensive, costly unit of work. Creating a thread within a process is relatively inexpensive unit of work. So the parallel is that a single MVM running multiple apps is more efficient like a multi-threaded operating system process. The downside to this is that if one app were to puke(warning: graphic technical term), it would take down the other apps with it. The presenter discounted this argument based on all the VM enhancements that are occuring. He did say that collocation could be achieved by running multiple MVM's on a single machine. This is a special case though.