【2019春招準備:總目錄】
阿新 • • 發佈:2018-12-02
面向崗位及其優先順序:java後端>大資料開發>前端
專案 | 連結 |
---|---|
1 | |
2 | |
3 |
序號 | 考點 | 連結 | 備註(公司、年份) |
---|---|---|---|
1 | 執行緒池、執行緒池引數 | https://blog.csdn.net/qq_33907408/article/details/84479261 |
滴滴java開發實習-2018.11 |
2 | final關鍵字 | 見下 | 百度一面(基礎面)-2018.11 |
3 | equals && hashcode | 見下 | |
4 | jvm - java編譯器 - java直譯器 | https://blog.csdn.net/qq_33907408/article/details/84492321 | |
5 | 集合框架之map | https://blog.csdn.net/qq_33907408/article/details/84501557 |
|
6 | 集合框架之list | https://blog.csdn.net/qq_33907408/article/details/84529769 | |
7 | 集合框架之set | ||
8 | 排序 | https://blog.csdn.net/qq_33907408/article/details/84529714 | |
9 | 演算法進階 | https://blog.csdn.net/qq_33907408/article/details/84539696 |
|
10 | 資料庫 | https://blog.csdn.net/qq_33907408/article/details/84578578 | |
11 | 24個常見設計模式 | https://blog.csdn.net/qq_33907408/article/details/84670640 | |
12 | atomic原子類操作 | https://blog.csdn.net/qq_33907408/article/details/84712530 |
- final關鍵字:(jdk5)
- final修飾的常量,通常全體大寫,可以通過類名直接呼叫。因為是final常量,除了呼叫的時候需要書寫類名,其他時候和類沒有關係,即就算類裡面有靜態程式碼塊,也不會執行。這是因為在編譯的時候已經處理好的。
- final修飾的變數:
如果是基本資料型別(byte short int long float double char boolean)一旦建立不能修改;
如果是引用資料型別(除了該8種以外的所有)引用不可以改變,就是說引用的物件不能指向新的物件,但是已經指向的物件內容可以修改; - final修飾的方法:不可以被修改重寫或者覆蓋。子類不能重寫但是可以過載,將父類的final方法定義為private,在子類的時候沒有這個方法,重新定義一個同名的方法就可以了。很多inline函式往往都是final修飾。
- final修飾的類:不可以被繼承。
- 好處:能夠提高JVM效能,多執行緒安全。(保證安全建立,因為有可能在建立的時候其它執行緒已經用到這個引用)
- equals hashcode:
java所有的物件都有equals,hashcode方法:
object:初始的時候和==完全一樣,如果要實現具體不同類的equals,需要重寫。
而最原始的 ==:基本型別直接比較大小,引用型別比較地址。
public boolean equals(Object obj) {
return (this == obj);
}
String的equals可以作為重寫的典範:
public boolean equals(Object anObject) {
if (this == anObject) {
return true;
}//先判別地址是否相同
if (anObject instanceof String) {//比較類別
String anotherString = (String)anObject;
int n = value.length;
if (n == anotherString.value.length) {//比較長度
//轉換成字元陣列,逐個比較
char v1[] = value;
char v2[] = anotherString.value;
int i = 0;
while (n-- != 0) {
if (v1[i] != v2[i])
return false;
i++;
}
return true;
}
}
return false;
}
hashcode:int
object:其中的native關鍵字表示,這個函式的實現並不是java寫的(c++這一套都放在了dll裡面):
“A native method is a Java method whose implementation is provided by non-java code.”
public native int hashCode();