您的位置:首页 > 编程语言 > Java开发

深入理解Java虚拟机---(2)JDK、JRE、JVM的联系与区别

2018-03-06 09:56 405 查看
写在前面:
    程序员在自己的计算机上安装好JDK后,可以开发自己的Java程序,可能就不是那么关心JDK、JRE、JVM之间的联系,今天通过这篇博客来进行一些总结。

1. JDK:

    JDK是指 Java Development Kit ---Java开放工具包,包括了Java运行环境JRE、Java工具和Java核心类库,在安装好JDK后,会有几个文件夹。

    bin:存放Java的操作工具,启动JVM的Java等。
    db:存放了Java测试的数据库derby。
    include:存放C++的头文件。
    jre:Java的运行环境
    lib:Java运行和依赖的核心库。
    src:Java的源代码

2. JRE:

    JRE是指 Java RunnTime Environment --Java的运行环境。仅有JVM不能完成字节码文件的解释,在解释.class文件的时候还需要调用解释所需要的类库lib。在安装好JDK后的JRE文件夹中,有一个lib和bin,lib就是解释.class文件所需要的类库,bin则是JVM。

3. JVM:

    JVM是指Java Virtual Machine ---Java虚拟机,是Java能够实现跨平台的核心部分。因为所有程序都会被编译成.class也就是字节码文件。由于字节码文件不与我们的操作系统对应,而是先由我们的JVM进行解释,最后再交给本地系统,实现了Java的可移植性。

注:虽然Java语言跨平台,但是JVM不跨平台,windows和LInux有不同的版本。

下面这张图,也反映了,JDK、JRE、JVM的联系:


    总结:

    如果用一句话来总结JDK、JRE、JVM的关系,程序开发者利用JDK(也成为Java API)开发Java程序,通过JDK中的编译工具Javac来编译Java程序成为字节码文件。之后在JRE上运行字节码文件,最后通过JVM的解释,映射到我们的CPU的指令集或者是OS的系统调用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  JDK JRE JVM