1.平台无关性
1.1 什么是平台无关性
所谓的平台无关性是指一个项目不会因为平台的变动而受到影响,通俗的说就是我的项目只要编译一次,我在windows上运行和我在linux运行时一样的,不需要根据不同平台进行不同编译
1.2 java为什么是平台无关性
java的运行只要是通过JVM,所以只要在运行的系统上面配置了java环境就可以进行运行,java项目首先会编译成class文件,然后类加载通过calss文件的全路径,以二进制的方式进行读取,在解析二进制,生成class对象,存放在堆中,然后生成类的信息存放在方法区中,然后严重class文件编译的版本号,比如java1.8编译的class文件,在java1.7的环境上运行时会有问题的,然后验证一些javaapi中类的正确性,还说做一些数据的初始化,比如静态变量,常量的初始化以及赋值,静态块的初始化,做完一系列初始化的后,jvm运行时候会将class经过类加载到jvm中,然后通过执行class文件,最后编译成系统所执行的指令,这就是java为什么是平台无关性的