JAVA学习笔记(二) java如何让计算机知道并执行我们想做的事

来源:互联网 发布:org.apache.ant.zip 编辑:程序博客网 时间:2024/04/30 05:00

众所周知,JAVA拥有很强大的跨平台性,可是为什么呢?因为JAVA虚拟机的原因

这是一个JAVA运行的图片;


我们来看看JAVA是如何运行的,由图片可以知道看出JAVA编译和运行是不在一个环境当中的他有一个编译时环境和运行时环境,我们写好源文件(.java)以后,系统先通过JAVA的编译器,编译成字节码文件(.class),这个类似于C语言中,.c文件编译成目标文件(.obj),然后JAVA将这个文件通过不同的方式,传递给运行时环境。

我们知道,JAVA是一个纯面向对象的语言,我们肯定会运用里面很多自带的类(不可能所有的类都要自己写一遍吧),这时,就要通过类加载器,将系统自带的类给加载进去,你可以在你的安装路径下找到很多JAR包,里面就是自带的类库的.class文件,加载完成后通过字节码校验器。

然后我们看到,这里产生了两个分支,这两个分支的执行方式是JAVA解释器是JIT的替补,也就是说,如果当前系统上没有JIT的时候,那么会使用JAVA解释器将字节码解释成2进制代码使硬件能够识别,若当前系统拥有即时编译器,那么久用即时编译器将字节码解释成2进制代码。

也就是说 JAVA所宣传的口号one write,run anything,是因为当前硬件拥有JAVA的运行时环境才可以做到。


原创粉丝点击