对java一次编译到处运行的理解
什么叫一次编译到处执行?
我们平常编写的类.java文件,经过编译过后生成的是.class文件,这个class文件跟平台是没有关系,windows上面和linux上面生成相同代码的class都是一样的,但是在执行这个class文件的时候,就需要我们机器上的java虚拟机来执行了,然而在java虚拟机里面最重要的就是解释器了,这个解释器的作用就是把我们的class字节码文件解释成机器码,不同平台的虚拟机是不同的但是他们提供的接口是相同的。就比如我的代码中需要向计算器申请一块内存,windows下的虚拟机就开始把这个申请内存的字节码解释成windos能识别的机器码进行执行,linux也是如此。