Java and the Java Virtual Machine (JVM) are a predominant programming language and deployment platform for complex, component-oriented systems. In current standard Java runtime systems, the failure of a single component can have significant impacts on other components. In the worst case, a malicious or erroneous component may crash the whole system. In this paper we explain why current standard JVMs are not suited to build secure and reliable component execution platforms. As main deficiencies, we identify the lack of proper component isolation and the absence of resource management mechanisms. We discuss the challenges of integrating these missing features and compare the strengths and limitations of various approaches to tackle these issues.