Java执行原理,加载与执行

mac2024-06-20  44

Java程序的运行包括两个非常重要的阶段

-编译阶段 运行阶段

编译阶段

编译阶段主要的任务是检查Java源程序是否符合Java语法 符合Java语法则能够生成正常的字节码文件(xxx,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安装之后,除了自带一个 java. exe之外,还有另一个工具/命令,叫做java.exe java.exe命令主要负责运行阶段

-java.exe在哪里用?怎么用? -在Dos窗口中使用

java.exe怎么用呢? java 类名(不能写路径)

例如 硬盘上有一个A. class,那么就这样用: java A 千万要注意:不要写成这样:java A.class【这种方式是错误的,记住就行】

-运行阶段的过程是:

*打开Dos命令窗口 *输入: java A java.exe命令会启动Java虚拟机JVM会启动类加载器Classloader

Classloader会去硬盘上搜索A.c1ass文件,找到该文件则将该字节码文件装载到JVM当中 *JVM将A.class字节码文件解释成二进制1010101010这样数据。 *然后操作系统执行二进制和底层硬件平台进行交互
最新回复(0)