JVM,JDK,JRE和OpenJDK有什么区别?
我是用Java编程的,我遇到了这些短语,它们之间有什么区别?
可能是一个愚蠢的问题,但我想知道.甚至不确定技术名称是什么(如果不清楚,可以随意编辑问题)但是"Java控制面板"我指的是你在Windows控制面板中找到的组件:

我去了java主页,但我仍然不确定...你在控制面板中看到的Java组件是否只是内置于所有计算机的Java程序集合?如果是这样,它到底是做什么的?它是否仅与Internet相关,还是必须运行其他应用程序或操作系统本身?
我最近开始学习JAVA.我的老师告诉我,JVM的名称Virtual基本上不是以物理或软件(或你说的任何东西)的形式存在.根据他的说法,JVM只是为不同平台开发JRE的规范文档.JRE是JVM的真正实现,它完成了运行Bytecode等所有工作.
我自己做了一些搜索,但在任何地方找不到相同的东西.相反,很多人说JVM用于运行字节码,JRE提供运行时间.这非常令人不满意.
所以我想知道JVM和JRE之间的区别是什么.如果有一些来自oracle或sun microsystem的真实文档.然后提供链接