java隨記2

來源:互聯網
上載者:User

標籤:compare   string   read   類的變數   object類   time   運行   blog   多態   

1、Arrays

java8裡新添加了parallelSort等parallel開頭的方法,表示利用cpu並行的能力

2.物件導向

如果繼承樹裡的某個類要被初始化時,系統將會同時初始化該類的所有父類

子類不會獲得父類的構造器,但子類構造器可以使用super調用父類構造器。但super調用也必須出現在構造器第一行,所以super和this不會同時出現。 

另外,不管是否使用super調用來執行父類構造器,子類構造器總會調用父類構造器一次。因為系統會在執行子類構造器前,隱式調用父類無參數的構造器,父類會先調用更父類的構造器,所以最先執行的總是java.lang.Object類的構造器。 

多態 
java引用變數有兩個類型:一個是編譯時間類型,一個是運行時類型。編譯時間類型由聲明該變數時使用的類型決定,運行時類型由實際賦給該變數的對象決定。如果編譯時間類型和運行時類型不一致,就可能出現所謂的多態。 
當把一個子類的執行個體對象直接賦給父類引用變數時,這個引用變數的編譯類型是父類,運行類型是子類,所以當運行時調用該引用變數的方法時,總是表現出子類的方法,於是:相同類型的變數,調用同一個方法時,呈現多種不同的行為特徵,這就是多態。 
與方法不同的是,變數則不具有多態性,調用時依然是父類的變數值。 
引用變數在編譯階段只能調用其編譯類型所具有的方法,但運行時則執行它運行時類型所具有法方法,因此,多態時,可通過反射來調用父類所不具有的子類法方法。

遞迴

public static int fn(Integer n){        if(n.equals(0)){            return 1;        }        if(n.equals(1)){            return 4;        }        return 2*fn(n-1)+fn(n-2);    }

1、如果一個封裝類和一個基本類型比較大小,或者是兩個基本類型進行比較大小,直接用==就好; 
如果是兩個封裝類進行比較大小,那麼使用equals(),傳回值是true,false,或者使用Xxx.compare(),傳回值是1,0,-1。(這裡的equals()方法,已經被封裝類重寫過了,不是Object的equals()) 
2、==和equals方法的區別 
當使用==來判斷兩個變數是否想等時,比較的是棧記憶體中的值,如果兩個變數是基本類型變數,且都是數實值型別,那麼棧記憶體中個存放的是基本類型變數的值,所以只要兩個基本類型變數的值想等,就會返回true。但對於兩個參考型別變數,由於棧記憶體中存放的是變數的引用,所以只有當這兩個參考型別變數指向同一個對象是,==才會返回true。==不可用於比較類型上沒有父子關係的兩個對象。 
equals()方法是Object類的一個執行個體方法,但這個方法和==沒區別。不過String類和基本類型的封裝類重寫了這個equals()方法,不再比較引用對象的引用地址,而是比較所引用的值。 

系統自動為介面裡的成員變數添加public static final修飾符. 
所以介面裡定義int MAX = 50;和定義 public static final int MAX = 50;的意義是一樣的.

3.Lambda運算式樣本

Runnable r = () -> {            for (int i = 0; i < 100; i++) {                System.out.println(i);            }        };                new Thread(r,"線程1").start();        new Thread(r,"線程2").start();

Lambda運算式只能實現一個函數式介面(只有一個抽象方法的介面)

跟匿名內部類有很大的相似處

 4.強制記憶體回收

System.gc()

Runtime.getRuntime().gc();

重寫finalize()方法,可以看出是否執行了垃圾清理

 

java隨記2

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.