I\'m dealing with a system that runs a Java application per customer in its own JVM. We\'ve got about a half dozen dedicated servers that are running close to 100 JVMs total now
Checkout 'multi-tenant' JVM's.
IBM's JRE has it already: http://www.ibm.com/developerworks/library/j-multitenant-java/
Waratek has implemented it on top of the Oracle JRE, and they created ElastiCat, a Tomcat fork that isolates different applications in the same container: http://www.elasticat.com/faq/
Multi-tenancy is rumoured to appear in the official Oracle Java 9 JVM, too.
=======================================================
Update: Java 9 is out, but no word from Oracle about multi-tenancy. It seems they prefer having multiple JVM's these days, even multiple Containers (e.g. docker).