1.JVM(java virtual machine)
java程序执行的地方
JVM就是java虚拟机,是java实现跨平台的最核心的部分,java程序(源码)首先被编译为.class的类文件,类文件在虚拟机上执行,也就是说class文件并不与机器的操作系统相对应,而是经过虚拟机间与操作系统交互,由虚拟机编译给本地系统运行。
2.JRE(java runtime environment)
java运行环境(运行Java程序必不可少的)
JVM不能完成class的执行,因为解释class时JVM需要调用解释所需要的类库lib。在jdk的安装目录里可以找到jre目录,里面有bin(类似于JVM)和lib(相当于类库)两个文件夹合称为jre。(jre里有运行.class的java.exe)
JRE包含虚拟机以及远程运行的类库,只能运行不能开发,没有开发工具
3.JDK(java development kits)
java开发工具包
包含JRE,包含了开发工具
javac.exe(编译器)
javadoc.exe(文档生成器)
jar.exe(程序打包)
JVM包含于JRE包含于JDK
开发中我们利用JDK调用我们自己开的Java程序— —>JDK编译程序(JAVAC.exe)将Java文件编译成java字节码— —>在JRE上运行Java字节码— —>JVM解析这些字节码,准成机器码与系统交互(映射到CPU或系统调用)