前言:所謂基礎,就是最底層的知識,之前面試遇到一位非常好的面試官,語重心長的跟我說,萬變不離其宗,只要掌握基礎,一切的問題都會迎刃而解的。
(由於時間問題,我只整理了一點點知識,我把所遇到的面試題目寫在下表面,供大家參考)
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運行原理