8張圖理解Java
一圖勝千言,下面圖解均來自Program Creek 網站的Java教程,目前它們擁有最多的票選。如果圖解沒有闡明問題,那么你可以借助它的標題來一窺究竟。
1、字符串不變性
下面這張圖展示了這段代碼做了什么
- String s = "abcd";
- s = s.concat("ef");
2、equals()方法、hashCode()方法的區(qū)別
HashCode被設計用來提高性能。equals()方法與hashCode()方法的區(qū)別在于:
- 如果兩個對象相等(equal),那么他們一定有相同的哈希值。
- 如果兩個對象的哈希值相同,但他們未必相等(equal)。
圖中紅色部分為受檢查異常。它們必須被捕獲,或者在函數(shù)中聲明為拋出該異常。
4、集合類的層次結構
注意Collections和Collection的區(qū)別。(Collections包含有各種有關集合操作的靜態(tài)多態(tài)方法)
#p#
5、Java同步
Java同步機制可通過類比建筑物來闡明。
6、別名
別名意味著有多個變量指向同一可被更新的內存塊,這些別名分別是不同的對象類型。
7、堆和棧
圖解表明了方法和對象在運行時內存中的位置。
圖解展示了整個虛擬機運行時數(shù)據區(qū)域的情況。
原文鏈接: programcreek
譯文鏈接: http://www.importnew.com/11725.html