This document discusses optimizing Java applications in virtualized environments. It describes how virtualization impacts the Java Virtual Machine's view of resources and introduces several IBM technologies for making the JVM aware of its virtualized context, including MXBeans that provide information on the operating system, hypervisor, and guest operating system. A virtualization-aware JVM can better optimize resource usage and provide applications with virtualization data.