Java程序运行包括两个重要的阶段:编译阶段和运行阶段
一、编译阶段
编译阶段主要任务是检查Java源程序是否符合Java语法规则,符合Java语法规则则能够生成正常的字节码文件(xxx.class),不符合Java语法规则则不能生成字节码文件
字节码文件不是纯粹的二进制文件,这种文件无法在操作系统中直接执行
编译阶段过程:
1.程序员需在硬盘的某个位置新建一个.java扩展名的文件,该文件被称为Java源文件,源文件当中编写的是Java源代码/源程序。儿这个源程序必须符合Java语法规则
2.Java程序员需要使用JDK当中自带的javac.exe命令进行Java程序的编译
那么什么是javac 呢?javac又怎么使用呢?
①javac是一个Java编译器/命令,在Dos命令窗口中使用
②使用规则: javac java源文件的路径
3.一个Java源文件可以编译成多个.class文件
4..class文件是最终要执行的文件,所以说.class文件生成后,Java源文件删除并不会影响java程序的执行。但是java源程序一般不要删除,因为class文件最终执行的效果可能并不是我们想要的,那么这个时候就需要回头再重新修改java源程序,然后将Java源程序重新生成新的class文件,然后再运行这个class程序,生成新的效果
5.编译结束之后可以将class文件拷贝到其他操作系统中运行(java的跨平台特性)
二、运行阶段
JDK安装之后,除了自带一个javac之外,还有另一个工具/命令,叫做java.exe,java.exe命令主要负责运行阶段,在Dos窗口使用
java.exe使用规则:java 类名
例如:硬盘上有一个A.class文件,那么就是java A
注意:java A.class是错误的
运行过程:
1.打开Dos命令窗口
2.输入:java A (以A.class文件为例)
3.java.exe命令会启动Java虚拟机(JVM),JVM会启动类加载器ClassLoader
4.ClassLoader会去硬盘上搜索A.class文件,找到该文件则将该字节码文件装载到JVM当中
5.JVM将A.class字节码文件解释成01二进制文件,并执行二进制
6.然后操作系统执行二进制和底层硬件平台进行交互