文章目录
- 前言
- 一、JDK、JRE、JVM三者关系
- 二、Java程序的两个阶段-编译及运行
- 总结
前言
对于Java初学者而言,需要对JDK、JRE、JVM要有一定的了解。在我们编写第一个Java程序之前,还需要对Java的加载与执行有一个简单的了解。
一、JDK、JRE、JVM三者关系
- JDK(Java Development Kit) Java开发工具包
它是每一个Java软件开发人员必须安装的,JDK安装之后,会自带一个JRE。 - JRE(Java Runtime Environment) Java运行环境
运行java程序所必须的环境集合,包含了JVM标准实现及Java核心类库。如果只需要运行java程序,则不需要安装JDK,只需要安装JRE即可。 - JVM(Java Virtual Machine) Java虚拟机
JVM是一个虚拟计算机,是实现java程序跨平台性的法宝。
二、Java程序的两个阶段-编译及运行
一个Java程序从开发到最终运行是这样进行的。
- 写代码
创建.java文件,在文件中编写符合java语法的源代码,该文件称为源文件。 - 编译
使用javac命令对源文件进行编译,生成.class文件,该文件我们称之为字节码文件,该文件的内容并不是二进制文件,如果是二进制文件,操作系统是可以直接执行的。 - 运行
使用java命令运行已经编译成功的java程序。JVM启动,通过“类装载器ClassLoader”从硬盘中找到.class字节码文件并装载,JVM解释器对字节码进行解释,最终解释为二进制码,然后操作系统通过执行二进制指令来和硬件平台完成交互。
以上则是java程序加载与执行的全部过程。其中需要重点强调的是:
- Java程序从开发到运行包括编译和运行两个阶段,这两个阶段可以在不同的操作系统中完成,例如在windows环境下进行编译,在liunx系统下运行,这是因为有JVM机制的存在,做到了一次编译到处运行,也就是我们所说的跨平台性和移植性。
- 编译阶段需要使用javac.exe命令,该命令是在安装JDK之后就存在的命令,运行阶段需要使用java.exe,该命令是在安装JRE之后存在的命令。
- .class字节码文件才是最终要执行的程序,.java源文件的删除不影响java程序的运行。
- 运行java程序的前提是当前操作系统中安装了对应版本的JVM,JVM不是单独安装的,安装JRE即可。不同的操作系统需要安装不同的JRE,不同版本的JRE对应不同版本的JVM。
总结
了解JDK、JRE、JVM三者之间的关系,掌握java程序从编译到运行的全部过程,理解JVM机制。