Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。下面是小编收集的JAVA高级工程师笔试题及答案,欢迎大家参考!
1.abstractclass和interface的区别?
抽象类可以有私有方法和变量,接口中不能有私有方法和变量。
抽象类可以有方法的实现,接口中不能有方法的实现并且所以的方法都需要实现。
2.try{}里有一个return语句,那么紧跟在这个try后的finally{}里的code会不会被执行,什么时候被执行,在return前还是后?
Finally代码块中的语句是必须执行的,必须在try代码块执行完之后执行,在return语句后执行。除非代码块中有System.exit();方法,因为终止了虚拟机进程,会不执行。
3.int和Integer有什么区别?
Java中提供了两种不同类型:引用类型和原始类型。Int是原始类型,Integer是int的封装类型。
4.说出ArrayList,Vector,LinkedList的存储性能和特性?
ArrayList和Vector是按数组的方式存储数据的,此数组的元素大于实际存储的数据,以便于增加和插入元素,它们允许数组按序号索引元素,由于插入数据时涉及到移动等内存操作,所以索引数据快而插入数据慢。Vector由于使用了synchroinzed(安全性),通常性能上较ArrayList差。LinkedList使用双向链表实现存储,按索引序号前向或后向遍历,插入数据时只需要记录本项的前后项即可,所以插入数据速度较快。
5.描述一下JVM加载class文件的原理机制?
Java中所有的类必须加装到jvm中才能运行,这个工