測測你的Java基礎

歐陽鋒發表於2018-04-20

測測你的Java基礎

Let's get started <<<

1)關鍵字volatiletransient各有什麼作用?

2)下面兩種使用synchronized關鍵字的方式有什麼區別?

// 第一種
synchronized(this) {
      ...
}
// 第二種
synchronized(A.class) {
    ...
}
複製程式碼

3)ArrayList和LinkedList對比,誰的查詢效率更高,為什麼?

4)HashMap和LinkedHashMap有什麼區別?

5)如果要你自己實現一個連結串列,實現資料的增刪改查,需要怎麼做?

6)如果要實現在匿名內部類中訪問外部類的父類方法(該方法在外部類中有重寫),需要怎麼做?

7)執行下面的程式碼可能輸出的結果是什麼?為什麼?

List<Person> persons = new ArrayList<Person>();
persons.add(xxx)
persons.add(xxx)
....

Person person = xxx;
int index = persons.indexOf(person);
System.out.println("Index = " + index);
複製程式碼

8)什麼是ThreadLocal,有什麼作用?

9)Java語言防止併發問題有幾種解決方案?最佳解決方案是什麼?

10)下面的程式碼會觸發空指標異常嗎?如果會,有沒有什麼更好的寫法?

if(obj instanceOf Person) {}

if(str.equals("abc")) {}
複製程式碼

一共十道題,如果你恰好一道都不會。恭喜你,你果然基礎差到爆,推薦你去看馬士兵的Java基礎視訊,不要問我馬士兵是誰哦。

下面是你的基礎等級:

答對 評分 評價
1~4 10 ~ 40 基礎較差
4~6 40 ~ 60 基礎一般
6~8 60 ~ 80 基礎較好
>8 80 ~ 100 基礎紮實

後記

如果你對上面的測試題有任何疑問的話,請微信搜尋公眾號歐陽鋒工作室,點選關注,答案會通過微信公眾號推送給大家。也可以通過微信掃描下方的二維碼關注歐陽鋒工作室公眾號,我在公眾號等你哦。

歐陽鋒工作室

加倍努力,證明你想要的不是空中樓閣,勝利往往是在多次失敗之後才姍姍而來

加油!You can do it。

檢視答案方法

關注微信公眾號歐陽鋒工作室,並回復“Java測試題答案”即可檢視答案。

相關文章