了解JDK、JRE、JVM及Java程序的编译与运行


前言

  对于Java初学者而言,需要对JDK、JRE、JVM要有一定的了解。在我们编写第一个Java程序之前,还需要对Java的加载与执行有一个简单的了解。

一、JDK、JRE、JVM三者关系

在这里插入图片描述

  1. JDK(Java Development Kit)   Java开发工具包
    它是每一个Java软件开发人员必须安装的,JDK安装之后,会自带一个JRE。

  2. JRE(Java Runtime Environment)  Java运行环境
    运行java程序所必须的环境集合,包含了JVM标准实现及Java核心类库。如果只需要运行java程序,则不需要安装JDK,只需要安装JRE即可。

  3. JVM(Java Virtual Machine)  Java虚拟机
    JVM是一个虚拟计算机,是实现java程序跨平台性的法宝。
    在这里插入图片描述

二、Java程序的两个阶段-编译及运行

  一个Java程序从开发到最终运行是这样进行的。
在这里插入图片描述

  • 写代码
      创建.java文件,在文件中编写符合java语法的源代码,该文件称为源文件

  • 编译
      使用javac命令对源文件进行编译,生成.class文件,该文件我们称之为字节码文件,该文件的内容并不是二进制文件,如果是二进制文件,操作系统是可以直接执行的。

  • 运行
      使用java命令运行已经编译成功的java程序。JVM启动,通过“类装载器ClassLoader”从硬盘中找到.class字节码文件并装载,JVM解释器对字节码进行解释,最终解释为二进制码,然后操作系统通过执行二进制指令来和硬件平台完成交互。

      以上则是java程序加载与执行的全部过程。其中需要重点强调的是:

  1. Java程序从开发到运行包括编译和运行两个阶段,这两个阶段可以在不同的操作系统中完成,例如在windows环境下进行编译,在liunx系统下运行,这是因为有JVM机制的存在,做到了一次编译到处运行,也就是我们所说的跨平台性和移植性

  2. 编译阶段需要使用javac.exe命令,该命令是在安装JDK之后就存在的命令,运行阶段需要使用java.exe,该命令是在安装JRE之后存在的命令。

  3. .class字节码文件才是最终要执行的程序,.java源文件的删除不影响java程序的运行。

  4. 运行java程序的前提是当前操作系统中安装了对应版本的JVM,JVM不是单独安装的,安装JRE即可。不同的操作系统需要安装不同的JRE,不同版本的JRE对应不同版本的JVM。

总结

  了解JDK、JRE、JVM三者之间的关系,掌握java程序从编译到运行的全部过程,理解JVM机制。

猜你喜欢

转载自blog.csdn.net/m0_46988935/article/details/109908335