(點選上方公眾號,可快速關註一起學Java)
翻譯:era_misa 原文連結:
https://www.programcreek.com/2013/09/top-8-diagrams-for-understanding-java/
譯文連結: http://www.importnew.com/11725.html
一圖勝千言,下麵圖解均來自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虛擬機器執行時資料區域
圖解展示了整個虛擬機器執行時資料區域的情況。
(完)