理解Java機制最受歡迎的8幅圖
世間總是一圖勝過千萬言!
希望本文能幫你回顧你已經知道的那些知識。如果圖片講解的不夠清晰,你可能需要閱讀詳細的文章或者進行搜尋。
1. String物件不可改變的特性
(詳情請點選上面的標題檢視)
下圖顯示瞭如下程式碼執行的過程:
String s = "abcd";
中文參考:Java String 詳解
如果你想學習Java可以來這個群,首先是二二零,中間是一四二,最後是九零六,裡面有大量的學習資料可以下載。
2. equals()與hashCode()方法協作約定
HashCode(雜湊編碼,雜湊碼)是設計了用來提高效能的.
equals()與hashCode()方法之間的關係可以概括為:
2.1 如果兩個物件相等(equal),那麼必須擁有相同的雜湊碼(hash code)
2.2 即使兩個物件有相同的雜湊值(hash code),他們不一定相等.
中文參考: HashMap的實現原理
3. Java 異常類層次結構
粉紅色的是受檢查的異常(checked exceptions),其必須被 try{}catch語句塊所捕獲,或者在方法簽名裡通過throws子句宣告.
另一類異常是執行時異常(runtime exceptions),需要程式設計師自己分析程式碼決定是否捕獲和處理。
而宣告為Error的,則屬於嚴重錯誤,需要根據業務資訊進行特殊處理,Error不需要捕捉。
中文示例: Exception
4. 集合類層次結構關係
注意Collections(工具類) 和 Collection(集合頂層介面) 的區別:
中文參考: Collections
5. 鎖——Java同步的基本思想
Java同步(synchronization)機制可以用一座大樓來比喻:
中文參考: 執行緒同步—synchronized
6.Java物件引用處理機制
別名是指多個引用指向同一個記憶體地址(物件實際地址,可以理解為這就是物件),甚至這些引用的型別完全不一樣.
7. Java 物件在堆中的記憶體結構
下圖顯示了執行時記憶體中方法和物件所處的地盤
絕大多數情況下:物件(及其屬性域)都儲存在堆裡面,而方法的引數,區域性變數(引用,以及6種基本型別)儲存在棧裡面.
當然,極特殊的情況下(極度優化[物件入棧],常量池[String],靜態變數[方法區]等)也會打破這個潛規則。
8. JVM 執行時資料區
下圖顯示了JVM(Java虛擬機器)執行時總體的資料區域劃分
相關文章
- 全球最受歡迎的8位Java大牛Java
- MRI:圖解25國最受歡迎的5款應用圖解
- 最受DevOps歡迎的五種工具dev
- Docker Hub 最受歡迎的10大映象Docker
- 在中國,什麼樣的Java程式設計師最受歡迎Java程式設計師
- 2016年度最受歡迎的100個 Java 庫Java
- 年度最受歡迎的開源CHROME外掛Chrome
- 最知名的遊戲公司就最受歡迎嗎?遊戲
- 2017年最受歡迎的UI框架UI框架
- 20個最受歡迎的Linux命令(轉)Linux
- 最受歡迎的5個Android ORM框架AndroidORM框架
- 最受歡迎的App開發工具推薦APP
- 15 種最受歡迎的資料視覺化流程圖及模板視覺化流程圖
- GitHub上最受開發人員歡迎的5大Java專案!GithubJava
- 2014年最受歡迎的Java應用伺服器Java伺服器
- 連續 3 年最受歡迎:Rust,香!Rust
- 15個最受歡迎的Python開源框架Python框架
- GitHub 十個最受歡迎的 React 相關庫GithubReact
- 14個最受歡迎的Python開源框架Python框架
- 最受IT公司歡迎的50款開源軟體
- 2016年,誰是最受歡迎的 Java EE 伺服器?Java伺服器
- TIOBE:2020年11月最受歡迎程式語言排行榜 Python超越Java成第二最受歡迎程式語言PythonJava
- 2014圖靈技術類圖書最受歡迎TOP15圖靈
- 2014圖靈電子書最受歡迎排行榜圖靈
- Nielsen:調查顯示谷歌地圖為最受歡迎Android程式谷歌地圖Android
- Localytics:iPhone 6仍是最受歡迎的型號 佔iPhone手機的30%iPhone
- 南美8月遊戲爆發 哪些最受歡迎?遊戲
- François Chollet:ArXiv中最受歡迎的開源框架框架
- 五款最受歡迎的編輯軟體推薦
- 最受歡迎的 NoSQL 和關係型資料庫SQL資料庫
- 【轉】15個最受歡迎的Python開源框架Python框架
- 從App Store排名看最受歡迎的APP型別APP型別
- eMarketer:微信是中國最受歡迎的移動應用
- 圖靈2014非技術類圖書最受歡迎TOP15圖靈
- 分析師:蘋果iPhone XR將會成為最受歡迎的iPhone機型蘋果iPhone
- 2018年Github最受歡迎機器學習語言Python穩坐冠軍,numpy、scipy是最受歡迎軟體包...Github機器學習Python
- 全球最受歡迎50大企業的品牌 Logo 有哪些共同點?——資訊圖Go
- JetBrains:2020年程式語言排名 Java最受歡迎AIJava