JRE、JDK、JVM 及 JIT 之间有什么不一样

java虚拟机(JVM)
    使用java编程语言的主要优点就是平台的独立性。你曾经想知道过java怎么实现平台的独立性吗?对,就是虚拟机,它抽象化了硬件设备,开发者和他们的程序的得以操做系统。虚拟机的职责就是处理和操做系统的交流。java不一样的接口规范对任何平台都有良好的支持,由于jvm很好的实现了每一个平台的规范。jvm能够理解伪代码字节码,在用户和操做系统之间创建了一层枢纽。
 
java运行时环境(JRE)
    java运行时环境是JVM的一个超集。JVM对于一个平台或者操做系统是明确的,而JRE确实一个通常的概念,他表明了完整的运行时环境。咱们在jre文件夹中看到的全部的jar文件和可执行文件都会变成运行时的一部分。事实上,运行时JRE变成了JVM。因此对于通常状况时候使用JRE,对于明确的操做系统来讲使用JVM。当你下载了JRE的时候,也就自动下载了JVM。
 
java开发工具箱(JDK)
    java开发工具箱指的是编写一个java应用所须要的全部jar文件和可执行文件。事实上,JRE是JDK的一部分。若是你下载了JDK,你会看到一个名叫JRE的文件夹在里面。JDK中要被牢记的jar文件就是tools.jar,它包含了用于执行java文档的类还有用于类签名的jar包。
 
即时编译器(JIT)
    即时编译器是种特殊的编译器,它经过有效的把字节码变成机器码来提升JVM的效率。JIT这种功效很特殊,由于他把检测到的类似的字节码编译成单一运行的机器码,从而节省了CPU的使用。这和其余的字节码编译器不一样,由于他是运行时(第一类执行的编译?)the firs of its kind to perform the compilation(从字节码到机器码)而不是在程序运行以前。正是由于这些,动态编译这个词汇才和JIT有那么紧密的关系。
 
引用自:http://www.javaexperience.com/java-difference-between-jvm-jre-jdk-jit/
有几个地方仍是不知道怎么表达。。
相关文章
相关标签/搜索