java运行机制
几天面试遇到一个这样问题,回答不是很好,这里做个归纳。
java程序运行时,必须经过编译和运行两个步骤,首先将后缀名.java的源文件进行编译,最终生成.class的字节码文件,然后java虚拟器将字节码文件进行解释执行。
比如:Hello World.java的文件
最后执行java Hello World 命令启动java运行程序,java虚拟机首先将编译好的字节码文件加载到内存,这个过程叫做类加载,是由类加载器完成的,然后虚拟机针对加载的到内存的java类进行解释执行,便可看到结果。
可以得出,java程序是由java虚拟机负责解释执行的,而并非操作系统,这样可以实现跨平台,针对不同的操作系统可以编写相同的程序,只需安装不同版本的虚拟机即可。
对于java虚拟机想了解更多可以参考下面这篇文章,讲的非常通俗易懂。
http://blog.csdn.net/zhangjg_blog/article/details/20380971