1、final关键字有什么用?
- final关键字提高了性能。JVM和Java应用都会缓存final变量。
- final变量可以安全的在多线程环境下进行共享,而不需要额外的同步开销。
- 使用final关键字,JVM会对方法、变量及类进行优化。
参考:http://www.importnew.com/7553.html
2、比较器?
Comparable和Comparator都是用来实现集合中的排序的,Comparator位于包java.util下,而Comparable位于包java.lang下,Comparable是一个对象本身就已经支持自比较所需要实现的接口(如 String、Integer 自己就可以完成比较大小操作),是内部定义的排序;而后者在一个独立的类中实现比较,是外部实现的排序。 如果一个类没有实现Comparable接口,或是这个对象不支持自比较或者自比较函数不能满足你的要求时,可以通过Comparator来实现比较算法进行排序,并且为了使用不同的排序标准做准备,比如:升序、降序。所以,如想实现排序,就需要让类对象自身实现Comparable接口,重写其中的compareTo(T o)方法;或在外部定义比较器实现Comparator接口,重写其compare(T o1,T o2)方法。前者只有一个参数,后者有两个参数。
参考:http://blog.csdn.net/happylifex/article/details/44678341
3、常见的异常?捕获异常和非捕获异常区别?
参考:https://www.cnblogs.com/lulipro/p/7504267.html
http://blog.csdn.net/wuruijiang/article/details/78971631
4、常见的集合,有哪些list,有哪些set,有哪些map?
List最常用的实现类有:ArrayList、LinkedList、Vector及Stack;Set接口常用的实现类有:HashSet、TreeSet
参考:https://www.cnblogs.com/heiming/p/5976631.html
https://www.cnblogs.com/vijozsoft/p/5585620.html