面試題解析記載

2021-09-02 17:09:44 字數 1147 閱讀 4327

工具類原始碼

hashcode: 在建立類的時候要覆蓋equal 和 hash 方法

arraylist :基礎陣列來實現的,遍歷查詢快,但是刪除需要移動陣列資料,處理會慢。

linkedlist :實現原理通過鍊錶實現,插入快,查詢和刪除慢。

hashmap:非執行緒安全的,通過鍊錶實現的,查詢速度回快很多,通過key取hash直接找到資料值的位置,如果資料hash位置

有多個值,則通過對key的equal對比找到對應的值。

兩個物件相等則hash一定相等,但hash相同不一定equal。

hashtable 執行緒安全的,key和value都不可以是空, 

hashset :基於hashmap 的key實現的,物件不能重也是通過對比hashcode和equals來實現的。 

stringbuilder 非執行緒安全的,在沒有執行緒問題的情況下,使用速度快。

stringbuffer :執行緒安全的,在有執行緒安全的問題考量的使用,使用避免出現執行緒安全問題。

@autowire 型別查詢 

resource 區別 ,  根據名稱查詢匹配

事務的隔離機制 :在併發的網路環境中,執行緒的併發問題唄servlet容器基本解決,但基本上資料都是儲存到資料庫中的,資料庫只有乙個,

多執行緒訪問的時候會出現併發問題,那資料庫是怎麼處理併發的問題呢? 也是通過鎖機制,mysql中鎖按照鎖的資料多少分為行鎖,表鎖。

innodb有兩種模式的行鎖:共享鎖,排它鎖

未提交讀,提交讀,可重複讀,序列化 ,主要解決的問題:髒讀,不可重複讀,幻讀

未提交讀:兩個事務運算元據,乙個事務更改了資料但是沒有提交,另乙個事務在沒有鎖的情況下可以讀到這個事務沒有提交的資料,這是髒資料。

不可重複讀:兩個事物運算元據,乙個事務讀取了一條資料然後另一事務也讀取然後修改了這條資料,並且修改後提交了資料,這時候第乙個事務

進行第二次資料讀取,則讀到的是第二個事務新提交的資料,兩次讀取的資料不一致,資料出現不可重複讀的問題。

幻讀:兩個事務運算元據,第乙個事務讀取乙個資料列表,然後第二個事務這時候插入一條資料並且提交了事務,這是第乙個事務在重新讀這個

資料列表,列表中就會多出來一行資料,像出現了幻覺一樣。

上述三個問題可以用事務的隔離級別來處理。

mysql的預設隔離級別是不可重複讀。

面試題解析

1.繼承執行順序 當兩個類之間有繼承關係時,第一次構造子類的例項時,是按照如下順序進行的 1.子類的靜態成員初始化語句 2.子類的靜態建構函式 3.子類的非靜態成員初始化語句 4.父類的靜態成員初始化語句 5.父類的靜態建構函式 6.父類的非靜態成員初始化語句 7.父類的建構函式 8.子類的建構函式...

Golang面試題解析(二)

func main println inte ce default println unknown func getvalue int考點 type 編譯失敗,因為type只能使用在inte ce func funcmui x,y int sum int,error 考點 函式返回值命名在函式有多個...

華為面試題解析 06

06.計算下列程式的輸出 cpp exercise05.c created on 2012 11 5 author xiaobin int main int argc,char ar int p,q p a q a 2 printf d n a q p return 0 首先,我們要知道陣列a的數值...