Demo
public class HelloWorld{
public static void main(String[] args){
System.out.println("Hello world");
}
}
- 使用DOS命令执行此程序
- 第一步:将源文件Demo.java 编译成Demo.class文件(字节码是JVM的识别语言)
- 第二步:执行Demo.class文件 与JVM进行交互。
- 第一步:将源文件Demo.java 编译成Demo.class文件(字节码是JVM的识别语言)
第一步为java的编译阶段;第二部为java的运行阶段
注意:在运行java Demo时,当前路径必须切换至class文件所在的位置,也就是class的绝对路径。
- 运行步骤:
- javac +路径:本质上是执行的编译阶段。将所写的源代码检查是否有错误,如果没有错误将编译成字节码.class文件;
- java +类型:本质上是java的运行阶段。使用java命令将.class文件执行,本质上将字节码文件在JVM中运行。(运行java Demo时,当前路径必须切换至class文件所在的位置,也就是class的绝对路径。:本质原因是在JVM运行.class文件时,首先JVM中的类加载器ClassLoader会根据环境变量(ClassPath)中的路径去寻找Demo.class的位置)
注意:ClassPath环境变量是java所特有的,而Path变量是Windows系统自有的
总结:
- java A 执行后,先启动JVM,JVM启动ClassLoader,ClassLoader去硬盘上找A.class,找到则执行,找不到则报错;
- ClassPath就是指路的,给类加载器ClassLoader指路的。