編譯地址: programcreek
譯者: ImportNew.com - era_misa
原文地址: http://www.importnew.com/11725.html
一圖勝千言,下面圖解均來自Program Creek 網(wǎng)站的Java教程,目前它們擁有最多的票選召耘。如果圖解沒有闡明問題,那么你可以借助它的標(biāo)題來一窺究竟民泵。
1、字符串不變性
下面這張圖展示了這段代碼做了什么
String s = "abcd";
s = s.concat("ef");
2、equals()方法食零、hashCode()方法的區(qū)別
HashCode被設(shè)計(jì)用來提高性能滑废。equals()
方法與hashCode()
方法的區(qū)別在于:
- 如果兩個(gè)對(duì)象相等(equal)蝗肪,那么他們一定有相同的哈希值。
- 如果兩個(gè)對(duì)象的哈希值相同蠕趁,但他們未必相等(equal)薛闪。
3、Java異常類的層次結(jié)構(gòu)
圖中紅色部分為受檢查異常俺陋。它們必須被捕獲豁延,或者在函數(shù)中聲明為拋出該異常。
4腊状、集合類的層次結(jié)構(gòu)
注意Collections和Collection的區(qū)別诱咏。(Collections包含有各種有關(guān)集合操作的靜態(tài)多態(tài)方法)
5、Java同步
Java同步機(jī)制可通過類比建筑物來闡明缴挖。
6袋狞、別名
別名意味著有多個(gè)變量指向同一可被更新的內(nèi)存塊,這些別名分別是不同的對(duì)象類型映屋。
7苟鸯、堆和棧
圖解表明了方法和對(duì)象在運(yùn)行時(shí)內(nèi)存中的位置。
8棚点、Java虛擬機(jī)運(yùn)行時(shí)數(shù)據(jù)區(qū)域
圖解展示了整個(gè)虛擬機(jī)運(yùn)行時(shí)數(shù)據(jù)區(qū)域的情況倔毙。