前言:所谓基础,就是最底层的知识,之前面试遇到一位非常好的面试官,语重心长的跟我说,万变不离其宗,只要掌握基础,一切的问题都会迎刃而解的。
(由于时间问题,我只整理了一点点知识,我把所遇到的面试题目写在下表面,供大家参考)
1:java中final关键字的作用
final关键字可以用于三个地方。用于修饰类、类属性和类方法。
被final关键字修饰的类不能被继承,被final关键字修饰的类属性和类方法不能被覆盖(重写);
对于被final关键字修饰的类属性而言,子类就不能给他重新赋值了,如果重新赋值,会报错。
2:重载(Overload)和重写(Override)的区别
(1)方法的重载和重写都是实现多态的方式,区别在于前者实现的是编译时的多态性,而后者实现的是运行时的多态性。
(2)重载发生在一个类中,同名的方法如果有不同的参数列表(参数类型不同、参数个数不同或者二者都不同)则视为重载;
重写发生在子类与父类之间,重写要求子类被重写方法与父类被重写方法有相同的参数列表,有兼容的返回类型,比父类被重写方法更好访问,不能比父类被重写方法声明更多的异常(里氏代换原则)。重载对返回类型没有特殊的要求,不能根据返回类型进行区分。(本文链接:https://blog.csdn.net/wintershii/article/details/80558739)
3:static关键字的作用
static关键字主要有两种作用:
第一,为某特定数据类型或对象分配单一的存储空间,而与创建对象的个数无关。
第二,实现某个方法或属性与类而不是对象关联在一起
具体而言,在Java语言中,static主要有4种使用情况:成员变量、成员方法、代码块和内部类
4.hashMap 底层原理(hashTable区别)
5.java1.8的新特性
6.ArrayList和ArraySet的区别
7.SpringMvc的运行原理
8.多线程
9.接口与抽象类的区别
10.jvm
11.Oracle和mysql
12.count(1)和coung(*)的区别
13.mybatis的缓存机制
14.limit数据量大怎么优化
15.索引
16.红黑树
17.AOP运行原理