编译期:在Java中提供了javac.exe的编译工具,此工具可以将.java文件(源文件)编译成.class文件,在此过程中编译器会对源文件进行语法检查,语法没问题就会生成1个或多个.class文件(字节码文件),此字节码文件不是二进制文件,不能直接与底层操作系统直接交互。
运行期:首先启动Java虚拟机(jvm),然后Java虚拟机会启动类加载器,类加载器会找到相应的.class文件。然后java虚拟机会将.class文件转换成相应的二进制文件。底层操作系统就可以执行相应的二进制文件与底层硬件平台进行交互。
编译和运行两个操作可以在不同的操作系统中完成。