java面试基础问题总结

前言:所谓基础,就是最底层的知识,之前面试遇到一位非常好的面试官,语重心长的跟我说,万变不离其宗,只要掌握基础,一切的问题都会迎刃而解的。

(由于时间问题,我只整理了一点点知识,我把所遇到的面试题目写在下表面,供大家参考)

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运行原理  

猜你喜欢

转载自www.cnblogs.com/Wenxu/p/11446509.html