1.
JVM(Java Virtual Machine) can decode the bytecode files(with .class suffix) compiled by JDK into machine language.
JRE(Java Runtime Environment) includes JVM and other libraries which are useful when JVM is working.
JDK(Java Develop Kit) enable human to write,compile and debug the java source code.
2.
Unlike c++ that compile the source code directly with the hardware and run it,java compile the source code into bytecode,and then execute it with the JVM.So this means,compile once and run it on any system.
3.略
4.
5.
6.7.略