8張圖理解Java

jopen 11年前發布 | 20K 次閱讀 Java

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

1、字符串不變性

下面這張圖展示了這段代碼做了什么

<pre class="brush:java; toolbar: true; auto-links: false;">String s = "abcd";

s = s.concat("ef");</pre>

 8張圖理解Java

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

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

  1. 如果兩個對象相等(equal),那么他們一定有相同的哈希值。
  2. 如果兩個對象的哈希值相同,但他們未必相等(equal)。

 8張圖理解Java

3、Java異常類的層次結構

圖中紅色部分為受檢查異常。它們必須被捕獲,或者在函數中聲明為拋出該異常。

 8張圖理解Java

4、集合類的層次結構

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

 8張圖理解Java

5、Java同步

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

 8張圖理解Java

6、別名

別名意味著有多個變量指向同一可被更新的內存塊,這些別名分別是不同的對象類型。

 <img alt=" 8張圖理解Java " src="https://simg.open-open.com/show/13f764ff299f717904c54461c99cc133.jpg" class="wp-image-11728" height="201" width="317" />    

7、堆和棧

圖解表明了方法和對象在運行時內存中的位置。

 <img alt=" 8張圖理解Java " src="https://simg.open-open.com/show/0529ea70af38ba19aa194685d1f3d4da.png" class="wp-image-11729" height="257" width="496" />    

8、Java虛擬機運行時數據區域

圖解展示了整個虛擬機運行時數據區域的情況。

<img alt=" 8張圖理解Java " src="https://simg.open-open.com/show/0ec9579d7ece952947a0db74f6470d57.jpg" class="wp-image-11732" height="363" width="501" />   <br />


原文鏈接: programcreek 翻譯: ImportNew.com - era_misa
譯文鏈接: http://www.importnew.com/11725.html

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!