讀古今文學網 > Java程序員修煉之道 > 第二部分 關鍵技術 >

第二部分 關鍵技術

本書的這一部分(第3章~第6章)全部是對Java中的關鍵編程知識和技術的探索。

本部分的開篇之章是關於依賴注入的,這是一項對代碼解耦並增強其可測試性和易讀性的通用技術。除了依賴注入的基礎知識,我們還介紹了它的演進過程,並探討了一個最佳實踐是如何變成設計模式並形成一個框架的(最終甚至變成了Java標準)。

之後,我們會探究出現在硬件領域的多核CPU革命。優秀的Java開發人員要瞭解Java的並發能力,並知道如何利用它們充分發揮現代處理器的效用。儘管Java自2006年(Java 5)就大力支持並發編程,但人們對這一領域的理解和應用仍然很少,所以我們會用一整章的內容介紹它。

你將看到Java內存模型,以及這個模型中的線程和並發是如何實現的。一旦你掌握了這些理論知識,我們就會指導你用java.util.concurrent 包及其他一些特性為Java並發實戰打下基礎。

接下來,我們會介紹類加載。很多Java開發人員不太明白JVM如何加載、鏈接和驗證類。所以當某些類的「錯誤」版本由於某種類加載衝突被執行時,他們會備感沮喪並浪費很多時間。

我們還會談到Java 7的MethodHandleMethodType和動態調用,讓用Reflection(反射)編碼的開發人員能以一種更快、更安全的方式完成相同的任務。

能夠深入到Java類文件的內部和它所包含的字節碼中是非常強的調試技能。我們會向你展示如何用javap瀏覽和理解字節碼的含義。

性能調優經常被當做一門藝術,而不是科學。跟蹤和解決性能問題經常會佔用開發團隊大量的時間和精力。在第6章,也就是本部分的最後一章,我們會教你評測(而不是猜測),並且告訴你「傳說中的調優」是錯誤的。我們會給你指出一條直指性能問題核心的科學之路。

我們特別關注垃圾回收(GC)和即時(JIT)編譯器,這是JVM中能夠影響性能的兩個主要部分。除了其他與性能有關的知識,你還將學到如何閱讀GC日誌,以及如何用免費的Java VisualVM(jvisualvm)工具分析內存的使用情況。

讀完第二部分之後,你就不再是個只想著IDE中那些源碼的開發人員了。你將知道Java和JVM的內部工作機制,並能夠充分發揮這個星球上最強大的通用VM(這麼說並不為過)的潛力。