The greatest development that took place in the recent years is the platform independence through Java. As shown in the figure, the Java source code is converted into byte code which runs on the virtual machine. The byte code is independent of the platform i.e. we can run the byte code on any platform-operating system or hardware. The Java Virtual Machine (JVM) can run on Macintosh, Windows or UNIX systems and hence developing platform independent software is reduced to developing the JVM for different platforms.