2018年Java面试题整理,拿高薪全靠它了

发布于 2018-02-07 | 作者: 黄宁波 | 来源: 网易号 | 转载于: 网易号

北邮干货

面试是我们每个人都要经历的事情,大部分人且不止一次,这里给大家总结最新的2018年面试题,让大家在找工作时候能够事半功倍。

1、Switch能否用string做参数

在 Java 7 之前, switch 只能支持byte,short,char,int 或者其对应的封装类以及 Enum 类型。在JAVA 7中,String 支持被加上了。

2、equals与==的区别

==是判断两个变量或实例是不是指向同一个内存空间 equals是判断两个变量或实例所指向的内存空间的值是不是相同

3、Object有哪些公用方法

4、Java的四种引用,强弱软虚,用到的场景

5、Hashcode的作用,与 equal 有什么区别

同样用于鉴定2个对象是否相等的,java集合中有 list 和 set 两类,其中 set不允许元素重复实现,那个这个不允许重复实现的方法,如果用 equal 去比较的话,如果存在1000个元素,你 new 一个新的元素出来,需要去调用1000次 equal 去逐个和他们比较是否是同一个对象,这样会大大降低效率。hashcode实际上是返回对象的存储地址,如果这个位置上没有元素,就把元素直接存储在上面,如果这个位置上已经存在元素,这个时候才去调用equal方法与新元素进行比较,相同的话就不存了,散列到其他地址上

6、String、StringBuffer与StringBuilder的区别

7、Override和Overload的含义去区别

8、抽象类和接口的区别

9、解析XML的几种方式的原理与特点:DOM、SAX、PULL

10、wait()和sleep()的区别

11、JAVA 中堆和栈的区别,说下java 的内存机制

12、JAVA多态的实现原理

13、JAVA 垃圾回收机制

14、讲讲 Java 中的集合有多少种,区别是什么