1. 程式人生 > >8張圖帶你理解Java

8張圖帶你理解Java

一圖勝千言,下面圖解均來自Program Creek 網站的Java教程,目前它們擁有最多的票選。如果圖解沒有闡明問題,那麼你可以藉助它的標題來一窺究竟。


1、字串不變性

下面這張圖展示了這段程式碼做了什麼

String s = "abcd";

s = s.concat("ef");


2.equals()方法、hashCode()方法的區別

HashCode被設計用來提高效能。equals()方法與hashCode()方法的區別在於:

  • 如果兩個物件相等(equal),那麼他們一定有相同的雜湊值。

  • 如果兩個物件的雜湊值相同,但他們未必相等(equal)。


3.Java異常類的層次結構

圖中紅色部分為受檢查異常。它們必須被捕獲,或者在函式中宣告為丟擲該異常。



4.集合類的層次結構

注意Collections和Collection的區別。(Collections包含有各種有關集合操作的靜態多型方法)


5、Java同步

Java同步機制可通過類比建築物來闡明。


6、別名

別名意味著有多個變數指向同一可被更新的記憶體塊,這些別名分別是不同的物件型別。


7、堆和棧

圖解表明了方法和物件在執行時記憶體中的位置。


8、Java虛擬機器執行時資料區域

圖解展示了整個虛擬機器執行時資料區域的情況。