1. JVM,JDK,JRE的区别
1.1 JVM (Java virtual Machine,Java虚拟机)
JVM(Java virtual Machine,Java虚拟机)是Java编程语言的核心,它将Java字节码转换成特定的机器代码(使用不同系统写的代码,可以互相之间转换成系统可以识别的机器代码),例如,在Windows系统上写了一个test.Java程序,转发给使用IOS系统的好友,好友通过IOS系统编译运行一样可以运行,原理就在此,不同系统安装符合自己系统的JVM后,JVM会把要编译的程序转换为本系统可以识别的机器语言,操作硬件执行程序,使得Java程序可以在不同平台上运行,这是Java可移植性的表现。
1.2 JRE(Java Runtime Environment)
JRE(Java Runtime Environment)Java运行时环境 JRE是运行Java程序是所需要的环境,它包含着JVM,核心类库,常用工具类包等,主要为运行Java程序提供所必须的环境。
1.3 JDK(Java Development Kit)
JDK(Java Development Kit) Java开发工具包,是提供给开发人员使用的环境,其中包含JRE,Java解释器,编译器,文档生成器(Javadoc)以及开发所需要的工具。
2.Java程序从开发到执行的流程
通过JDK开发工具包开发Java程序后,通过JDK编译器检查Java程序错误并编译为.class文件,JRE中的JVM将class文件解释为机器语言,最终执行硬件,完成运行。