Java核心編程卷1:基礎

來源:互聯網
上載者:User

現在已經步入了21世紀,我們很難想象曾經Java相關的圖書是那樣的稀少,但這就是Java剛出現時的情況。那時所有與Java相關的圖書基本上都是由Sun公司的幾個工程師們所發布的,比如說Arthur Van Hoff et.al所寫的“Hooked on Java”以及Patrick Naughton所寫的“The Java Handbook”。

當然了,這些圖書填補了Java的空白,不過每本書都有3、400頁,這些圖書都假設讀者瞭解程式,特別是物件導向程式設計。

1996年Cay Horstmann與Gary Cornell出版了名為“Java核心編程”的圖書,這本書有600多頁,它沒有做任何假定,從頭開始教授讀者Java,這本書的風格清晰且可讀性強,不禁讓我們回想起早期Brian Kernighan與Patrick Henry Winston的編程課程。

17年轉瞬即逝,Horstmann與Cornell又出版了Java核心編程第9版。該版共分為兩卷,卷1(基礎)有974頁,卷2(進階特性)甚至達到了1128頁。你可以在書中找到有關Java 7(最新的JDK版本)的一切內容,包括集合、泛型、並發以及從JDK的首個版本發布以來Java的所有特性。

新版的編寫風格依然清晰且具有很強的可讀性,並且提供了大量的樣本,這些樣本雖然基本但卻很重要。顯然,作者在建立這些樣本時經過了大量的思考,樣本非常詳盡,為讀者提供了很有價值的參考。書中充斥了大量的“C++注釋”,旨在以Java的方式來指導C++程式員。

卷1首先介紹了Java的曆史以及語言設計者的最高訴求(健壯、可移植、多線程等等)。然後是一個簡潔的上手指南,包括下載與安裝Java語言環境(包括JDK與Eclipse IDE)的說明。這部分提供了一些可靠的程式碼範例,你可以通過一些可視化的Applets來測試安裝環境。

接下來介紹了最基本的資料類型以及文法、程式結構和控制流程,詳細解釋了BigNumber、BigDecimal與BigInteger。

本欄目更多精彩內容:http://www.bianceng.cn/Programming/Java/

介紹完基礎內容後,本書又開始詳細介紹物件導向編程(OOP)。擁有C語言等過程式背景的程式員一般都會覺得向OO轉變是個比較困難的過程。Java核心編程這本書在這方面做得非常棒。討論首先從一些基本的UML、直觀的樣本以及Java中的類與對象開始。接下來繼續深入到Java風格的OO中,包括類檔案與構造方法。本章最後給出了一些“類設計提示”,這是用於建立良好、可讀且可重用代碼的最佳實務。

OO討論之後的幾章會開始介紹繼承、介面與內部類,並給出了相應的Java實現。

接下來的4章有300頁,是關於圖形編程開發的,包括主要的Swing組件、字型、使用顏色、處理滑鼠與鍵盤事件、布局管理器、Applets以及部署策略,如瀏覽器、Java Web Start與JAR檔案。我比較失望的是書中並未提及JavaFX,因為JavaFX現在已經成為Java核心庫的一部分了,並且作為Swing的擴充使用。

再往下的一章介紹了異常處理,顯然這裡會介紹調試技巧、日誌以及如何使用調試器。後面的一章介紹了泛型程式設計。即便是有經驗的Java程式員在這個主題上也會遇到問題,不過介紹的過程卻是非常清晰的。本書還介紹了Java 7“Project Coin”中所引入的新的鑽石標記法。然後開始介紹Java Collections與Maps,包括一些演算法,並且簡要介紹了老式的Collections與Maps,如Hashtable、Vector與Enumeration。

本書最後通過108頁的篇幅從頭開始介紹多線程。該章以“什麼是線程”開始,然後介紹“線程狀態”,給出一個漂亮的狀態圖,介紹了通過“同步”進行的轉換並討論了競態條件。接下來介紹了Java 5中引入的java.util.concurrent組件。然後介紹了Executors與線程池,“同步”組件,通過使用線程來確保Swing UI的響應性討論了SwingWorker的概念。

我認為加入多線程一章是個很好的決定,而在之前的版本中這一章被放到了卷2中。並發對於所有重要的Java代碼來說都是很必要的,並不應該被當作進階特性。然而,我很遺憾地看到關於Streams與Readers的章節被放到了卷2中,因為他們也是基礎的主題,卷2在今年3月出版。

自從1995年首次發布以來Java得到了長足的發展,這不僅體現在表達性方面,周邊的生態系統亦是如此。Java核心編程內容很多但卻十分詳盡,讀起來沒有壓力,對於程式員新手、來自其他語言的程式員、甚至是進階Java開發人員(想要在手邊放一本能夠清晰展現Java核心的各個主題的圖書)來說都是一本非常不錯的圖書。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.