http://www.fullstackprep.dev/Articles/webd/java/difference-between-jdk-jre-and-jvm