Java編程思想評註者序

來源:互聯網
上載者:User

 

評註者序 

與Thinking in Java的淵源

學習Java的道路好比西天取經,Java就是要取得的真經,我們都是去往Java之路的聖徒。

學習Java不僅要經曆九九八十一難,更要理解Java這本聖經的精髓。大家都覺得Java之路不好走,因為它不僅僅是Java,還有無數的技術,如JSP、Servlet、JavaBean、J2EE、Struts、Spring、Hibernate、資料庫SQL、SOA分布式、緩衝、JVM、Eclipse、Tomcat、HTTP、JSON等等,它們組成了取經道路上的九九八十一難。眾多技術,圍繞的精髓是Java。

在學習Java的道路上,我也經曆過九九八十一難。我通過編寫《Java高手真經》對Java道路上的層層技術做了一個自認為完整的總結,也是對自己步入Java世界以來的種種所見所聞所感的記錄和升華。但此時,對Java我有種被掏空的感覺。因為,我覺得自己對Java的精髓理解得還是不夠。

偶然的機會接到博文視點的邀約,為這本《Java編程思想》(Thinking in Java)的英文版本做點評。儘管我寫過很多技術類的書,但對於這種聖經式的經典著作,借用時下最流行的一句話,內心有一點“忐忑”J。因為,對經典著作做的點評,必須是點睛之筆,對原文要能夠畫龍點睛。想到這裡,內心就更加忐忑了!為此,我抱著學習交流的心態重讀了這本書。

剛學習Java時,往往會經資深人士推薦說:“讀這本《Java編程思想》才是學真正的Java,國人所著太淺!”於是懷著崇拜之情,讀之,傻眼,1000多頁、大量本質的分析,再加上蹩腳的英語,讀之皮毛矣!從此也就束之高閣。

何時應該讀這本書

李彥宏關於互連網的發展曾說過:“時機很重要,進去太早會餓死,太晚就沒有機會了。”實際上這句話在這裡也適用,太早讀這本書會難以理解,太晚你會後悔為什麼才看到這本書。這是因為,正如書名所言,它講解的是Java編程的內在思想,只有擁有了一定Java編程基礎和開發經驗後,讀它才是對Java理解的升華!

因此,這本書最大的作用不是讓你“知其然”,而是讓你“知其所以然”!

如何讀這本書

本書原英文版涵蓋了Java設計、文法和庫的各個方面,包括Java的運算子、控制邏輯、構造、回收、重用、多態、介面、內部類、儲存、異常、字串、類型、泛型、數組、容器、I/O、注釋、並發、圖形GUI。原英文版是按美國人的習慣散列排列的,本書為了更加一目瞭然,更加符合國人的思維方式,將這些章節分為五個大的部分,每一部分都涵蓋了深入分析的獨家內容。

第1部分  基本文法:運算子、控制邏輯

運算子和控制邏輯是任何一門語言的最基礎文法,Java參考了C++的優點,揚長避短,因此它的運算子也基於C++,但在某些方面進行了簡化和改進。熟悉C++將會對本部分輕車熟路。Java中的控制語句共提供了如下幾個關鍵字:if/else/while/do-while/for/return/break/continue/switch。雖然有goto,但是不要使用,它會使代碼混亂。在Java中已經摒棄了goto語句。

第2部分  物件導向:對象的建立與銷毀、存取控制、重用、介面、內部類、異常

本書是關於類的初始化和銷毀講解最為完美的一本書,細緻、全面、易懂。存取控制專門開闢了一章,對於類和包的存取控制關係講解小巧到位。要讓每個人編寫的程式能夠為他人所用,首先是類的包結構清晰,其次是代碼中的函數封裝清晰。

第3部分  資料存放區:字串、數組、儲存、容器

java.util包中提供了紛繁複雜的容器類,包括集合類Collection(包括Queue先進先出隊列、List允許重複的有序列表、Set不允許重複的集合)和映射類Map(索引值對)。本書深度分析了基於這些介面的各種實作類別的使用、工作原理。“Containers in Depth”一章是講解Java容器類最深入的部分,它會告訴你何時應該使用哪些容器、哪些是最有用的、為什麼使用以及怎麼使用。

第4部分  核心功能:輸入輸出、並發

I/O提供了Java與外部系統進行通訊的基礎庫,包括控制台、檔案、網路。這些是I/O需要涉及的方方面面。輸入輸出的方式包括順序讀取、隨機讀取、緩衝、二進位、字元、行讀取、位元組讀取等等,因此I/O也提供了各種讀寫的封裝類。本書通過大量執行個體來示範這些類的使用方法和應用情境。

多線程是與單線程比較而言的,本書從基本的Thread、Runnable的使用講起,深入且全面講解了線程的休眠、優先順序、Daemon、線程的異常處理、資源共用、線程的控制、與其他線程的協作、死結等,並講解了Java中使用的一些線程工具類。

第5部分  進階特性:類型、泛型、枚舉、注釋

書中從Class類、cast、靜態分析、動態分析、動態代理、Mock等各方面講解類的RTTI解析,使用Generic實現對Java的擴充。JDK 5.0通過名為注釋(Annotation)的新功能,將一個更通用的中繼資料工具合并到核心Java語言中。對於開發人員來說,不僅可以使用JDK內建的注釋,還可以使用第三方提供的強大注釋功能,比如單元測試、EJB、Hibernate等,還可以自訂注釋。

我的建議

由於AWT和Swing目前在實際應用中比例不高,並且擅長介面編程的中文圖書比比皆是,因此就刪除了圖形化編程GUI一章。另外,本書開頭的兩章,即“Introduction to Objects”和“Everything Is an Object”沒有收入本書,但讀者可從網上下載加了評註的這些內容,網址是http://www.broadview. com.cn/13521。

還請讀者留意以下兩點:

(1)由於本評註版經重新編排,章節順序與原著不盡相同,加之部分章節有所節略,因此書中涉及引用章節之處與圖書現狀略有出入。由此給讀者帶來的不便,還請諒解。

(2)各章練習序號後的小括弧中的文字,代表本練習的難度等級(用1~10表示)。

最後,在您閱讀本書時,我有兩點建議:

對經典的分析、代碼及時做批註,多做對比和總結。

上機編寫運行書中的經典執行個體,嘗試不同的運行結果,分析代碼的用意。

對書中的執行個體舉一反三、反覆推敲,分析更多的實際應用情境。

只有用心去讀、去體會、去實踐,才能夠真正理解Java編程中的思想。

本評註版由劉中兵、陳景春、周同、劉中敏、陳萬珍、劉劍、李瑞霞、李建海、李金剛、劉中麗執筆,撰寫相關中文評註。行文若有不妥之處,敬請廣大讀者提出寶貴意見和建議。

 

劉中兵     

2011年4月20日於北京

本文節選自《Java編程思想(第4版)(評註版)》一書。

《Java編程思想(第4版)(評註版)》一書已由電子工業出版社正式出版,本書由劉中兵評註

 

 

購買地址:

噹噹:

http://product.dangdang.com/product.aspx?product_id=21106091&ref=search-1-pub

卓越:

http://www.amazon.cn/Java%E7%BC%96%E7%A8%8B%E6%80%9D%E6%83%B3-%E5%88%98%E4%B8%AD%E5%85%B5/dp/B0055T5XVW/ref=sr_1_1?ie=UTF8&qid=1308711461&sr=8-1

中國互動出版網:

http://product.china-pub.com/194002

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.