The JVM is an important component of the Java Platform. Because JVMs are available for many hardware and software platforms, Java can be both middleware and a platform in its own right – hence the expression "write once, run anywhere." The use of the same bytecode for all platforms allows Java to be described as "compile once, run anywhere", as opposed to "write once, compile anywhere", which describes cross-platform compiled languages. 