the JRE is the runtime environment. when installed on your system, it allows you to run Java applications.
if you want to write your own, though, you'll need a bit more. you'll need the JDK (development kit) for that, it contains the JRE, but it also contains additional tools you'll need to develop and compile your code, like the compiler (javac)
Oh...you mean to say that they have packaged the compiler, JRE and other stuff into one thing called JDK?
Compiler converts your code into bytecode and JVM is used to run the bytecode onto a machine... then what is JRE for?