JVM,JDK,JRE
JDK是老大,他包含了java开发所用的工具、类库、环境等东西。
当时在下载完eclipse后会要求下载JDK,并且还要配置路径。因为没有这个东西,即时你写出了完美的代码又有啥用呢,完全不能运行,因为你没有jvm(java虚拟机)呀。哦!不对,没有JDK你根本写不出来完美的代码,因为你需要import很多类库,不导入,你只能在那疯狂int!
JDK包括了Java运行环境JRE(Java Runtime Envirnment)、一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)。
jre是属于jdk的。
JRE中包含了Java virtual machine(JVM),runtime class libraries和Java application launcher,这些是运行Java程序的必要组件。
jre是基于java语言编写的程序的运行环境。(这句话看不懂,就往下看)
jvm即虚拟机
为啥把java说成是可实现跨平台的语言呢,就是因为jvm
java语言经编译后会生成.class文件且在虚拟机上执行,也就是说calss并不是直接与操作系统相对应,而是经过虚拟机(相当于中间层)间接与操作系统交互,由虚拟机将程序解释给本地系统执行。
但是只有jvm还不能执行class文件,因为虚拟机只是工具,并不能识别字节码中出现的类库,这时便需要lib!!!!! 注意利ib是属于jre的,因此说jvm中包含jvm!!!
大部分只是来自于这里:链接