对java面试而言,面试前的准备一定要有面试题收集和学习这一项,因为在招聘公司看来,对java工程师职位的最大关注就是专业知识和技能水平的考察,所以程序员去公司面试,无论怎样都要先做一套面试题。对于不同级别的程序员岗位的应聘,相应的面试题难度肯定是不一样的,今天这篇文章总结了一些中级java工程师的面试题,有想应聘中级java工程师岗位的朋友可以看看下面这些面试题目,希望对你有所帮助。
Java
什么是字节码?采用字节码的最大好处是什么?什么Java是虚拟机?
首先看看java中的编译程序和解释程序:
虚拟机的概念被引入Java中,它是在机器和编译程序之间添加一个抽象层的虚拟机器。这种虚拟机可以在任何平台上为编译器提供通用接口。编译器只需要面向虚拟机,生成虚拟机可以理解的代码,然后由解释器将虚拟机代码转换成机器码,以执行特定系统。在Java中,这个用于虚拟机制解压的代码被称为字节码(扩展名为.class的文件),它并不面向任何特定的处理器,而仅针对虚拟机。每种平台的解释器各不相同,但所实现的虚拟机相同。
Java源程序通过编译器编译而成为字节码,由虚拟机解释执行,虚拟机将每一个待执行的字节码发送给解释器,解释器将其翻译为特定机器上的机器码,然后在特定机器上运行,这就是上述Java特性的编译与解释并存的解释。
jvm源代码---->编译器---->jvm可执行Java字节码---->jvm---->jvm中的解释器---->jvm中的二进制机器码---->程序运行。
使用字节码的好处:
在保持解释型语言可移植性的同时,Java语言通过字节码的方式在一定程度上解决了传统解释型语言执行效率低下的问题。因此,Java程序在运行时效率更高,并且,因为字节码并不只适用于一种特定的机器,Java程序可以在许多不同的机器上运行,而无需重新编译。
领取100道Java精品面试题