Difference between JDK and JRE

JDK is an acronym for Java Development Kit . It is a bundle of software components that is used to develop Java based applications includes JRE , and the compilers and tools (like JavaDoc, and Java Debugger) to create and compile programs.
JDK = JRE + Development/debugging tools
JRE is an acronym for Java Runtime Environment . It is an implementation of the Java Virtual machine, which actually executes Java programs. It includes the JVM (Java Virtual machine), core libraries and other additional components to run applications and applets written in Java. The JDK is a superset of the JRE , and contains everything that is in the JRE, plus tools such as the compilers and debuggers necessary for developing applets and applications. It also includes browser plugins for Applet execution. The JRE does not contain tools and utilities such as compilers or debuggers for developing applets and applications.
JRE = JVM + Java Packages Classes(like util, math, lang, awt,swing etc)+runtime libraries.
Usually, when you only care about running Java programs on your browser or computer you will only install JRE . That's all you need. On the other hand, if you are planning to do some Java development , you will also need JDK .