I have gone through your question. Almost everybody who is new to Java has this doubt. The JDK consists of compiler and JVM.
The Compiler will compile java file it means it will convert a .java file to a .class file. As .class file is completely platform independent it means compiled class file of your java file will be the same for all Operating Systems so from the algorithmic perspective we can say that the compiler is same across all the platforms. As it is the executable file so the file itself will be different for Windows it will be .exe and for Linux it will be Linux executable etc.
Now the JVM converts bytecode i.e our .class file to the 'system specific' code. As the system specific code is dependent on its OS. So from the algorithmic point of view the JVM is different across all OS. Also the actual file will also be completely different on different OS.
I hope now you are clear about Java Compiler.