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