Java——执行流程

Java——执行流程编译 执行 我们可以看到这里的是类名 而不是字节码文件名 Hello class 这是因为对于 java 命令是用于启动 Java 虚拟机 JVM 并执行编译后的 Java 应用程序的 Java 虚拟机 JVM

大家好,欢迎来到IT知识分享网。

一、执行流程

1、示例

Java——执行流程

//第一个Java程序 public class Hello{ public static void main(String[] args){ System.out.println("Hello World!"); } }

编译:Java——执行流程

执行:Java——执行流程

我们可以看到这里的是类名,而不是字节码文件名 Hello.class ,这是因为对于java 命令是用于启动 Java 虚拟机(JVM)并执行编译后的 Java 应用程序的,Java 虚拟机(JVM)在运行时期待的是一个类的名称,而不是文件名或文件路径。

运行结果:Java——执行流程

2、编译

使用 javac 工具将 java 源文件编译成 JVM 可以识别的字节码文件,即为 .class 文件。

如果源文件中没有错误,最终编译完成会出现一个 Hello.class 文件。

上面的指令时在 Hello.java 文件所在的目录下使用的,如果不是在源文件的目录下,要加上具体路径。使用 javac 可以直接在源文件上加上路径:

Java——执行流程

如果使用java指令的话,要配合 -classpath 选项来指定类的路径,或者使用 -cp 作为 -classpath 的简写:

Java——执行流程

Java——执行流程

也可以在系统环境变量中设置 CLASSPATH 环境变量,这样 Java 类加载器如果在当前的路径下找不到,则使用系统变量中的路径来查找类文件。

3、执行

我们通过使用 java 这个指令运行 Hello.class 文件,它的本质就是 java.exe 将这个字节码文件装载在 JVM 中执行。

当我们对源文件更改之后,需要再次编译,才能使 .class 文件更新,然后再运行,才能使执行后的结果更新。

二、一些知识点

1、每个源文件中只能有一个 public 类

Java 中每个源文件中只能有一个 public 类,而且这个 public 类的类名必须和源文件文件名相同,也就是说,如果你的一个源文件中的 public 类的类名为 Hello ,那你的源文件名就要是Hello.java。

其他的非 public 类个数不限。

2、对一个 Java 源文件编译,会产生一个对应的 .class 文件

在对一个 Java 源文件编译时,每一个类都会产生一个对应的 .class 文件。

//第一个Java程序 public class Hello{ public static void main(String[] args){ System.out.println("Hello World!"); } } //非public类 class Dog { } //非public类 class Tiger { }

当我们对以上的代码进行编译后,会发现产生了对应的 .class 文件:

Java——执行流程

3、可以将 main 方法放到非 public 类中

我们还可以将 main 方法放到非 public 类中,然后指定运行这个非 public 类,这样入口方法就变成了非 public 类的 main 方法。

//第一个Java程序 public class Hello{ public static void main(String[] args){ System.out.println("Hello World!"); } } //非public类 class Dog { public static void main(String[] args) { System.out.println("This is Dog."); } } //非public类 class Tiger { public static void main(String[] args) { System.out.println("This is Tiger."); } }

我们可以对上面的代码编译后,然后指定运行特定的类:

Java——执行流程

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/126078.html

(0)
上一篇 2025-09-21 19:20
下一篇 2025-09-21 19:26

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信