Java程序的编译和运行流程

1、编写一个java源程序HelloWorld.java

Java程序的编译和运行流程

  • 关键字 public 表示访问说明符,表明该类是一个公共类,可以控制其他对象对类成员的访问。
  • 关键字 class 用于声明一个类,其后所跟的字符串是类的名称。
  • 关键字 static 表示该方法是一个静态方法,允许调用 main() 方法,无须创建类的实例。
  • 关键字 void 表示 main() 方法没有返回值。
  • main() 方法是所有程序的入口,最先开始执行。
  • “/*”“*/”之间的内容和以“//”开始的内容为 Java 程序的注释。

保存刚才编写的java源程序为HelloWorld.java

Java程序的编译和运行流程
2、编译.java文件

Java程序的编译和运行流程

编译成功之后会生成一个.class的可执行文件

Java程序的编译和运行流程

 


3、运行.class字节码文件

 

Java程序的编译和运行流程

运行成功

  • 注:上面只是通过dos命令来了解java程序的编译和执行过程,实际上我们现在都是直接通过eclipse等编程工具来时间编译并运行java源程序的过程。
  • Java程序的编译和运行流程

 

 

Java 程序运行流程

Java程序的编译和运行流程

 

字节码文件是一种和任何具体机器环境及操作系统环境无关的中间代码。它是一种二进制文件,是 Java 源文件由 Java 编译器编译后生成的目标代码文件。编程人员和计算机都无法直接读懂字节码文件,它必须由专用的 Java 解释器来解释执行,因此 Java 是一种在编译基础上进行解释运行的语言。

Java 虚拟机(JVM)是运行 Java 程序的软件环境,Java 解释器是 Java 虚拟机的一部分。在运行 Java 程序时,首先会启动 JVM,然后由它来负责解释执行 Java 的字节码程序,并且 Java 字节码程序只能运行于 JVM 之上。这样利用 JVM 就可以把 Java 字节码程序和具体的硬件平台以及操作系统环境分隔开来,只要在不同的计算机上安装了针对特定平台的 JVM,Java 程序就可以运行,而不用考虑当前具体的硬件平台及操作系统环境,也不用考虑字节码文件是在何种平台上生成的。

JVM 把这种不同软、硬件平台的具体差别隐藏起来,从而实现了真正的二进制代码级的跨平台移植。JVM 是 java 平台架构的基础,Java 的跨平台特性正是通过在 JVM 中运行 Java 程序实现的。

Java 程序通过 JVM 可以实现跨平台特性,但 JVM 是不跨平台的。也就是说,不同操作系统之上的 JVM 是不同的,Windows 平台之上的 JVM 不能用在 Linux 平台,反之亦然。

 

Java程序的编译和运行流程