每日一题(二)
题目:
请解释Java源文件的编译、下载、解释和执行。
分析:
这个涉及到将java源程序翻译为字节码、载入字节码、解释字节码和执行四个过程。
解答:
1.java源文件编译成字节码。
编译过程与C/C++不同。当编译生成一个对象的代码时,C/C++总是为某一特定平台服务的。因此编译程序将函数与变量的引用转成内存偏移量(如果不理解可以参考操作系统中的内存管理机制)。而java是跨平台的,所以它不针对某一特定平台。因此在编译过程中它保留了引用信息,没有转换。
2.解释执行部分
包括代码的装入、代码的解释(校验)和代码的执行
代码装入是靠类装载器(Class loader)完成。类装载过程略。装载类结束后又字节码校验器进行检验。校验器在于发现异常,报告异常。通过校验,代码便开始执行了。java字节码执行有两种方式:即时编译方式和解释执行方式。通常采取第二种方式
(部分内容来自百度文库)