1. 程式人生 > >【2019春招準備:總目錄】

【2019春招準備:總目錄】

面向崗位及其優先順序: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
  1. final關鍵字:(jdk5)
  • final修飾的常量,通常全體大寫,可以通過類名直接呼叫。因為是final常量,除了呼叫的時候需要書寫類名,其他時候和類沒有關係,即就算類裡面有靜態程式碼塊,也不會執行。這是因為在編譯的時候已經處理好的。
  • final修飾的變數:
    如果是基本資料型別(byte short int long float double char boolean)一旦建立不能修改;
    如果是引用資料型別(除了該8種以外的所有)引用不可以改變,就是說引用的物件不能指向新的物件,但是已經指向的物件內容可以修改;
  • final修飾的方法:不可以被修改重寫或者覆蓋。子類不能重寫但是可以過載,將父類的final方法定義為private,在子類的時候沒有這個方法,重新定義一個同名的方法就可以了。很多inline函式往往都是final修飾。
  • final修飾的類:不可以被繼承。
  • 好處:能夠提高JVM效能,多執行緒安全。(保證安全建立,因為有可能在建立的時候其它執行緒已經用到這個引用)
  1. 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();