Java runs on many different operating systems, including Android, the world's most popular mobile operating system (while Java continues to be used on Android, even by its maker Google, they no longer prefer Java; now is their preferred language, that can also be used with all Java code). This makes Java platform independent. It does this by making the Java compiler turn code into Java bytecode instead of machine code. This means that when the program is executed, the Java Virtual Machine interprets the bytecode and translates it into machine code.