JRE is implementation of JVM specification and has to be platform dependant.
One of the main purpose of JDK is to compile source code and produce .class files. Is JDK written in Java ? If yes , why do we have different jdk for different OS.
Or is JDK written in C or some other language with implementations specific to OS ( Windows / MAC etc )?