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