This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
Java is platform independent because the JVMs are platform specific.
Java bytecode is exactly the same, but what you need to run on Windows is different from Linux and that is different from Mac. So the different JVMs take the same bytecode and run it for their machines.