What is the difference between JVM, JRE, and JDK?

Technical