1,java实现跨平台的原理
由于我们的操作系统有很多种,但是我们的java程序只有一种,因此我们需要一种东西来屏蔽操作系统对java程序的影响,这个东西就是JVM(java虚拟机)。
我们的java程序经过编译以后会生成class字节码,这些字节码就可以在JVM上面运行了。
我们需要注意的是JVM可以屏蔽操作系统对java程序的影响,但是由于不同的操作系统的机器指令是不同的,因此不同的操作系统的JVM的类型肯定是不同的。
2,编译与运行
java程序的执行包括编译和运行两个阶段。
编译阶段(javac xxx.java)就是将java源文件转变成一个或者多个class字节码的形式(.java–>.class),真正在java虚拟机上面运行的是class字节码文件,编译的作用就是用来检查java代码是否符合正确的语法。class字节码并不是放的二进制文件,如果class文件放的都是二进制文件的话,那么java虚拟机就没有任何意义了,操作系统就可以直接执行class文件了。
运行阶段(java xxx)就是会启动JVM,而JVM会启动类加载器,类加载器会去硬盘上面搜索.class字节码文件,并且将该字节码文件转载到JVM虚拟机上面,JVM会将字节码文件解释成二进制这样的数据给到操作系统去执行。
3,第一个java程序
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
一个java源文件中可以有多个class,但是最多只能有一个public class,并且由public修饰的class必须和源文件的文件名一样。