8張圖理解Java

一圖勝千言,下面圖解均來(lái)自Program?Creek?網(wǎng)站的Java教程,目前它們擁有最多的票選。如果圖解沒(méi)有闡明問(wèn)題,那么你可以借助它的標(biāo)題來(lái)一窺究竟。

1、字符串不變性

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

1
2
String s = "abcd";
s = s.concat("ef");

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

HashCode被設(shè)計(jì)用來(lái)提高性能。equals()方法與hashCode()方法的區(qū)別在于:

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

3、Java異常類(lèi)的層次結(jié)構(gòu)

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

4、集合類(lèi)的層次結(jié)構(gòu)

注意Collections和Collection的區(qū)別。(Collections包含有各種有關(guān)集合操作的靜態(tài)多態(tài)方法)

5、Java同步

Java同步機(jī)制可通過(guò)類(lèi)比建筑物來(lái)闡明。

6、別名

別名意味著有多個(gè)變量指向同一可被更新的內(nèi)存塊,這些別名分別是不同的對(duì)象類(lèi)型。

7、堆和棧

圖解表明了方法和對(duì)象在運(yùn)行時(shí)內(nèi)存中的位置。

8、Java虛擬機(jī)運(yùn)行時(shí)數(shù)據(jù)區(qū)域

圖解展示了整個(gè)虛擬機(jī)運(yùn)行時(shí)數(shù)據(jù)區(qū)域的情況。

原文鏈接:?programcreek?翻譯:?ImportNew.com?-?era_misa
譯文鏈接:?http://www.importnew.com/11725.html
[?轉(zhuǎn)載請(qǐng)保留原文出處、譯者和譯文鏈接。]
the end

評(píng)論(0)