首頁>Club>
5
回覆列表
  • 1 # 堂吉訶德一世

    Java書籍推薦

    入門

    《Head First Java》

    如果你沒有學過其他語言亦或是轉行到計算機行業,可以先看看這本書。這本書圖文並茂條理清晰,非常容易理解,練習也足夠,可以讓你一口氣讀很久而不會覺得有什麼地方遺漏。

    進階

    《Java程式設計思想》

    這是一本所有的Java學習者都無法避開的經典之作,被譽為全球最好的Java書籍。不同水平的人讀這本書也會有不同的感覺,初學Java的時候也許會覺得學的非常慢,當你程式設計了一段時間之後再看這本書,你就會發現,你程式設計中遇到的問題在這本書中有很多的體現,這時候大概就是你進階的時候了,你讀這本書也會變得比從前輕鬆和愉快了。

    《Java核心技術》

    作為與《Java程式設計思想》齊名的大全式圖書,這本書的內容更加細緻,偏重與講解Java計數,舉例說明了大量API,內容翔實、客觀準確,不拖泥帶水,所以相比於《Java程式設計思想》,更注重於實用性。而且這本書全面而且易懂,放在案旁用到的時候查一查、看一看,也是Java初學者和Java程式設計師的必備參考書。

    《Effectice java》

    谷歌首席架構師的大作,也是一本經典。介紹了在Java程式設計中78條極具實用價值的經驗規則,揭示了應該做什麼,不應該做什麼才能產生清晰、健壯和高效的程式碼,並透過例子程式碼加以進一步說明,這些經驗規則涵蓋了大多數開發人員每天所面臨的問題的解決方案。

    初學者讀這本書可能沒有太深的體會,當你有那麼一兩個專案的經驗,再讀這本書,就會發現書中提到的某個規則就是你在很多次工作經驗後總結出來的最準確的描述方式。

    《Java效能權威指南》

    Java效能方面可能最好的一本書。深入介紹了JIT編譯器、垃圾收集演算法、執行緒同步等複雜問題,講解了很多應用效能分析以及最佳化的方法,詳盡講解了Java效能調優的相關知識,幫助讀者深入理解Java平臺效能的各個方面,適合所有想了解效能最佳化的Java程式設計師。

    《Java併發程式設計實戰》

    本書作者都是Java Community Process JSR 166專家組(併發工具)的主要成員,並在其他很多JCP專家組裡任職。它深入淺出地介紹了Java執行緒和併發,是一本完美的Java併發參考手冊,適合Java程式開發人員閱讀。

    以上是一些基於Java語言本身的書籍推薦,然而,作為一名工程師,從編寫可讀的程式碼,到重構現有的程式碼,再到設計模式,是編碼的必備法則。

    重構與設計模式:

    《大話設計模式》

    《HeadFirst 設計模式》

    HeadFirst 系列的另一本書《HeadFirst 設計模式》,同樣是一本非常適合入門設計模式的書籍,沒有之一。這本書介紹 了23 個設計模式,同樣採用場景對話、打比方的方式來講解,巧妙地讓設計模式的理論在實際應用中體現出來,淡化了抽象性。

    《設計模式》

    設計模式領域的開山鼻祖,必讀,並且值得多讀幾遍。雖然其中的例子是C++寫的,但也很適合Java學習者讀。

    《重構: 改善既有程式碼的設計》

    好的程式碼是重構出來的,而不是一開始就寫出來的,除非你的程式碼不用於任何業務。本書從一個重構例項開始,用程式碼和例項配合講解了各種耳熟能詳的重構方法,非常到位,總之,是一本程式設計師必讀書目,書中的示例程式碼都是java寫的。

    《程式碼整潔之道》

    篇幅不大,但卻能讓人受益匪淺。書中給了很多方法與規範,遵循它們可以寫出整潔的程式碼。如何為函式,變數,型別準確的命名,如何減少註釋做到程式碼即文件,如何透過良好的程式設計規範減少錯誤的程式碼等等。

  • 2 # 程式汪布丁

    前言

    不管你是初學者,還是有一定基礎,需要實戰專案的朋友,這本書都能滿足你的一切需求,從入門到專案實戰應有盡有,只要把這本書吃透,勝任一份Java工程師的職位是綽綽有餘了。

    話不多說,直接展示(文末附帶領取方式)

    部分目錄展示實戰專案目錄
  • 3 # 千鋒武漢

    1、《Head First Java》java入門書籍

    《Head First Java》是本完整的面向物件(object-oriented,OO)程式設計和Java的學習指導。此書是根據學習理論所設計的,讓你可以從學習程式語言的基礎開始一直到包括執行緒、網路與分散式程式等專案。最重要的,你會學會如何像個面向物件開發者一樣去思考。但如果你真地想要好好地學習Java,你會需要《Head First Java》。這本書可是Amazon編輯推薦的十大好書之一!強烈推薦學習此書,非常適合初學者入門。

    2、《Java從入門到精通》

    《Java從入門到精通》這本書主要針對java基礎,對於沒有學過java的人才說,是一個不錯的選擇。透過這本書,大家可以從零開始,慢慢來學習,而且實操很多,不會讓你看到最後出現只會理論的情況。為什麼說培訓的人不用看呢?因為這本書上的內容和許多培訓機構的書籍有很多重複的地方,所以參加培訓的同學就可以不看了。如果覺得自學太難太慢的話,那就報培訓機構吧,推薦千鋒,全程面授,真實專案操作會讓你更快上手。

    3、《Thinking in java》(中文名:《Java程式設計思想》)

    《Java程式設計思想》可以說是最經典的java著作,是所有java程式設計師必備教科書。這本書不管是正在學習還是已經工作許多年的程式設計師,都可以從這本書中得到你想要的東西。這本書具有教材和工具書的作用,就像一本字典,想知道什麼都可以從中查詢。雖然這本書很好,但並不建議初學者學習,對於初學者難度較大。

    4、《瘋狂Java講義》

    《瘋狂的講義》這本書比較適合自學者,內容比較專案化,實操方法很多,如果你想進行java的深入學習,不妨看看這本書。

    5、《Java核心技術》

    這本書分為兩個部分,第一個部分講的是基礎知識,第二個部分講的是高階特性。由於內容非常有層次,所以非常適合自學和上培訓機構的同學學習。尤其對參加培訓的同學作用較大,因為一般培訓機構講的非常快,有很多東西沒辦法及時消化吸收,很多基礎和核心的東西就會掌握的不牢固,那麼這本書正好彌補了這個缺失。

    6、《Java開發實戰經典》

    這本書比較適合自學者學習,裡面有很多小案例,可以邊學邊練,鞏固知識。

  • 4 # 千鋒武漢

    Java入門好書推薦:《Head First Java》

    《Head First Java》是本完整的面向物件(object-oriented,OO)程式設計和Java的學習指導。此書是根據學習理論所設計的,讓你可以從學習程式語言的基礎開始一直到包括執行緒、網路與分散式程式等專案。最重要的,你會學會如何像個面向物件開發者一樣去思考。但如果你真地想要好好地學習Java,你會需要《Head First Java》。這本書可是Amazon編輯推薦的十大好書之一!強烈推薦學習此書,非常適合初學者入門。

    Java進階好書推薦:《Thinking in java》

    《Thinking in java》(中文名:《Java程式設計思想》) 第4版 本書贏得了全球程式設計師的廣泛讚譽,即使是最晦澀的概念,在Bruce Eckel的文字親和力和小而直接的程式設計示例面前也會化解於無形。從Java的基礎語法到最高階特性(深入的面向物件概念、多執行緒、自動專案構建、單元測試和除錯等),本書都能逐步指導你輕鬆掌握。

    從本書獲得的各項大獎以及來自世界各地的讀者評論中,不難看出這是一本經典之作。本書的作者擁有多年教學經驗,對C、C++以及Java語言都有獨到、深入的見解,以通俗易懂及小而直接的示例解釋了一個個晦澀抽象的概念。本書共22章,包括運算子、控制執行流程、訪問許可權控制、複用類、多型、介面、透過異常處理錯誤、字串、泛型、陣列、容器深入研究、Java I/O系統、列舉型別、併發以及圖形化使用者介面等內容。這些豐富的內容,包含了Java語言基礎語法以及高階特性,適合各個層次的Java程式設計師閱讀,同時也是高等院校講授面向物件程式設計語言以及Java語言的絕佳教材和參考書。

    Java高階好書推薦:《Effective Java 中文版》

    《Effective Java中文版》(第2版),本書介紹了在Java程式設計中57條極具實用價值的經驗規則,這些經驗規則涵蓋了大多數開發人員每天所面臨的問題的解決方案。透過對Java平臺設計專家所使用的技術的全面描述,揭示了應該做什麼,不應該做什麼才能產生清晰、健壯的高效的程式碼。

    本書中的每條規則都以簡短、獨立的小文章形式出現,這些小文章包含了詳細而精確的建議,以及對語言中許多細微之處的深入分析,並透過例子程式碼加以進一步說明。貫穿全書的是通用的語言用法的設計模式,以及一些具有啟發意義的技巧的技術。

    要想在Java領域成為大牛,除了不斷進行專案實戰以外,還要不斷的進行進修和學習。以上三本Java書籍是Java程式設計師必看學習Java的好書。學習Java的好書還有很多,希望大家能一起分享,共同進步。

  • 5 # 千鋒廣州

     不管是因為愛好,還是因為就業,既然想要學習java,就應該多讀書多看報,先不說能多精通,至少要讓自己先入門。千鋒java培訓老師整理了一些java零基礎入門的書籍,初學者可以看看。

      1、《Java核心技術》

      這本書我雖然沒看完,但是裡面對JAVA的技術講述大而全,幾乎對語法和基礎庫講的都很夯實,我覺得入門看這個很合適。

      2、《Head First Java》

      這本書寫了完整的面向物件程式設計和Java的學習指導。此書是根據學習理論所設計的,讓你可以從學習程式語言的基礎開始一直到包括執行緒、網路與分散式程式等專案。更重要的是,你會學會如何像個面向物件開發者一樣去思考。

      3、《 THINKING IN JAVA》

      我多年前就看完英文版的(除了GU部分),我覺得這本書教授了一種學習程式設計的思想,他不是一種授課的思路而是一種探索的思路,我印象裡,每個API他都會呼叫一遍然後來講解。不過這本書,我不太喜歡裡面的程式碼,有些程式碼內部類各種巢狀,思路挺複雜的,對於剛學習面向物件程式設計思維的人來說學起來有點困難。

      4、額外可以附贈一本《 Effective Java》

      如果你把上面1、2兩本之一看完並且初步掌握java以後,你一定要看《 Effective Java》。Java 程式設計中78條極具實用價值的經驗規則,這些經驗規則涵蓋了大多數開發人員每天所面臨的問題的解決方案。以知識點形式講解java的,有很多java的小細節,注意事項,還有程式設計技巧等等。很多面試問題,其實也是根據裡面內容來。人和人差距在這本書看完以後開始體現。

      JAVA裡有很多開原始碼,很多大型程式也使用JAVA。要想在程式設計上走的更遠,就需要看一些設計思維上的書籍。我推薦《 HEAD FIRST DESIGN PATTERNS》,這本書帶我入門了設計模式,比較通俗易懂,看起來很舒服。C++四人幫那本過於提煉。

      以上僅僅是個人偏好的幾本書籍,可以用來參考學習,除了學習書籍之外,能配合千鋒java影片教程學習,會讓你的技術掌握的更快。

  • 6 # 千鋒廣州

      不管是因為愛好,還是因為就業,既然想要學習java,就應該多讀書多看報,先不說能多精通,至少要讓自己先入門。這裡整理了一些java零基礎入門的書籍,初學者可以看看。

      1、《Java核心技術》

      這本書我雖然沒看完,但是裡面對JAVA的技術講述大而全,幾乎對語法和基礎庫講的都很夯實,我覺得入門看這個很合適。

      2、《Head First Java》

      這本書寫了完整的面向物件程式設計和Java的學習指導。此書是根據學習理論所設計的,讓你可以從學習程式語言的基礎開始一直到包括執行緒、網路與分散式程式等專案。更重要的是,你會學會如何像個面向物件開發者一樣去思考。

      3、《 THINKING IN JAVA》

      我多年前就看完英文版的(除了GU部分),我覺得這本書教授了一種學習程式設計的思想,他不是一種授課的思路而是一種探索的思路,我印象裡,每個API他都會呼叫一遍然後來講解。不過這本書,我不太喜歡裡面的程式碼,有些程式碼內部類各種巢狀,思路挺複雜的,對於剛學習面向物件程式設計思維的人來說學起來有點困難。

      4、額外可以附贈一本《 Effective Java》

      如果你把上面1、2兩本之一看完並且初步掌握java以後,你一定要看《 Effective Java》。Java 程式設計中78條極具實用價值的經驗規則,這些經驗規則涵蓋了大多數開發人員每天所面臨的問題的解決方案。以知識點形式講解java的,有很多java的小細節,注意事項,還有程式設計技巧等等。很多面試問題,其實也是根據裡面內容來。人和人差距在這本書看完以後開始體現。

      JAVA裡有很多開原始碼,很多大型程式也使用JAVA。要想在程式設計上走的更遠,就需要看一些設計思維上的書籍。我推薦《 HEAD FIRST DESIGN PATTERNS》,這本書帶我入門了設計模式,比較通俗易懂,看起來很舒服。C++四人幫那本過於提煉。

      以上僅僅是個人偏好的幾本書籍,可以用來參考學習,除了學習書籍之外,能配合千鋒java影片教程學習,會讓你的技術掌握的更快。

  • 7 # java高階

    2018Java後端工程師的書單推薦——Java架構書籍免費放送

    書籍列表

    《Effective Java 中文版》

    豆瓣評分:9.1【1235 人評價】推薦理由:本書介紹了在Java程式設計中78條極具實用價值的經驗規則,這些經驗規則涵蓋了大多數開發人員每天所面臨的問題的解決方案。友情提示:同推薦《重構 : 改善既有程式碼的設計》、《程式碼整潔之道》、《程式碼大全》,有一定的內容重疊。

    《Java併發程式設計實戰》

    豆瓣評分:9.0 【651 人評價】推薦理由:本書深入淺出地介紹了Java執行緒和併發,是一本完美的Java併發參考手冊。推薦部落格:併發程式設計網

    《深入理解Nginx》

    豆瓣評分:8.5【138 人評價】推薦理由:書中首先透過介紹官方Nginx的基本用法和配置規則,幫助讀者瞭解一般Nginx模組的用法,然後重點介紹瞭如何開發HTTP模組(含HTTP過濾模組)來得到定製化的Nginx,其中包括開發—個功能複雜的模組所需要了解的各種知識,並對記憶體池的實現細節及TCP協議進行了詳細介紹;接著,綜合Nginx框架程式碼分析了Nginx架構的設計理念和技巧,此外,還新增瞭如何在模組中支援HTTP變數,以及與slab共享記憶體等相關的內容,相信透過完善,可進一步幫助讀者更好地開發出功能豐富、效能—流的Nginx模組。友情提示:相對適用於 Nginx 開發者。Nginx 使用者可以瞭解。

    《深入理解Java虛擬機器:JVM高階特性與最佳實踐》

    豆瓣評分:8.9 【657 人評價】推薦理由:不去了解 JVM 的工程師,和鹹魚有什麼區別?推薦博主:你假笨@JVM

    《高效能MySQL》

    豆瓣評分:9.3 【245 人評價】推薦理由:對於想要了解MySQL效能提升的人來說,這是一本不可多得的書。書中沒有各種提升效能的秘籍,而是深入問題的核心,詳細的解釋了每種提升效能的原理,從而可以使你四兩撥千斤。授之於魚不如授之於漁,這本書做到了。

    《Redis開發與運維》

    豆瓣評分:8.8 【41 人評價】推薦理由:從開發、運維兩個角度總結了Redis實戰經驗,深入淺出地剖析底層實現,包含大規模叢集開發與運維的實際案例、應用技巧。全面覆蓋Redis 基本功能及應用,圖示豐富,講解細膩。

    《NoSQL精粹》

    豆瓣評分:8.2 【226 人評價】推薦理由:書中全方位比較了關係型資料庫與NoSQL資料庫的異同;分別以Riak、MongoDB、Cassandra和Neo4J為代表,詳細講解了鍵值資料庫、文件資料庫、列族資料庫和圖資料庫這4大類NoSQL資料庫的優劣勢、用法和適用場合;深入探討了實現NoSQL資料庫系統的各種細節,以及與關係型資料庫的混用。

    《ZooKeeper:分散式過程協同技術詳解》

    豆瓣評分:7.6 【49 人評價】推薦理由:Zookeeper 入門友情提示:翻譯可能略顯尷尬。

    《從Paxos到Zookeeper分散式一致性原理與實踐》

    豆瓣評分:8.1 【187 人評價】推薦理由:從分散式一致性的理論出發,向讀者簡要介紹幾種典型的分散式一致性協議,以及解決分散式一致性問題的思路,其中重點講解了Paxos和ZAB協議。同時,本書深入介紹了分散式一致性問題的工業解決方案——ZooKeeper,並著重向讀者展示這一分散式協調框架的使用方法、內部實現及運維技巧,旨在幫助讀者全面瞭解ZooKeeper,並更好地使用和運維ZooKeeper。

    《微服務設計》

    豆瓣評分:8.1 【273 人評價】推薦理由:透過Netflix等多個業界案例,從微服務架構演進到原理剖析,全面講解建模整合部署等微服務所涉及的各種主題,微服務架構與實踐指南。

    《Spring Cloud微服務實戰》

    豆瓣評分:7.9【20 人評價】推薦理由:從時下流行的微服務架構概念出發,詳細介紹了Spring Cloud針對微服務架構中幾大核心要素的解決方案和基礎元件。對於各個元件的介紹,主要以示例與原始碼結合的方式來幫助讀者更好地理解這些元件的使用方法以及執行原理。同時,在介紹的過程中,還包含了作者在實踐中所遇到的一些問題和解決思路,可供讀者在實踐中作為參考。

    《億級流量網站架構核心技術》

    豆瓣評分:7.6【57 人評價】推薦理由:總結並梳理了億級流量網站高可用和高併發原則,透過例項詳細介紹瞭如何落地這些原則。本書分為四部分:概述、高可用原則、高併發原則、案例實戰。京東開濤作品,很多技術掰細了講,所以也蠻厚的。

    《鳥哥的Linux私房菜 (基礎學習篇)》

    豆瓣評分:9.1【2269 人評價】推薦理由:本書是最具知名度的Linux入門書《鳥哥的Linux私房菜基礎學習篇》的最新版,全面而詳細地介紹了Linux作業系統。友情提示:內容非常全面,建議挑選和自己實際工作相關度較高的,其他部分有需要再閱讀。[獲取方式]:關注!轉發!私信“架構資料”即可免費獲取的!

    真正想提升自己,我感覺最主要的是先把 JVM、併發、網路這三塊知識點學會、學通,這三塊是基礎,後面所有的框架、中介軟體等相關的都是基於這三塊知識點之上的。學完這三塊知識點,可以快速的掌握其它的知識,新框架等。

    繼續給大家分享,進階高階或架構師必看的書籍。

    1. HeadFirst 設計模式

    如果對設計模式不瞭解,可以入手這本書,或圖解設計模式。

    我也買了本 《Java 與 模式》 600多頁。看了兩章就不看了,枯燥無味,看完就忘。我只是完整的看完過《HeadFirst設計模式》,看完其實印象也不深,只知道有這些設計模式,大概幹什麼的瞭解些。我真正理解設計模式還都是閱讀原始碼的時候學習的。如果想真正的理解設計模式,還是多讀一些原始碼吧。

    2. spring 原始碼深度解析

    這本書主要分析了 spring 載入配置檔案,解析標籤,生成Bean。IOC,AOP 原始碼講解 ,整合JDBC,SpringMVC 原始碼分析等。

    這本書看的有些枯燥,必須下載原始碼結合這書上一塊分析,光看書效果不大,沒有閱讀原始碼的同學,謹慎入手。

    3.重構 改善既有程式碼的設計

    大家都推薦這本書,我這也推薦下吧,想讓你的程式碼寫的更好,邏輯更清晰,易讀已擴充套件,就入手一本吧。其實這本書我都沒整體的通讀一遍。

    4.Effective Java

    這本書沒得說,經典讀物,必看。

    5.大型網站技術架構

    主要從大型網站架構的特點,架構目標(高效能,高可用,可伸縮等)基本理論講起。看起來輕鬆愉快,抽時間準備再看一遍。強烈建議大家入手一本。

    6.深入分析java web技術內幕

    web開發進階必看。當時我閱讀tomcat原始碼的時候,就是從這本書的tomcat拿章開始的。

    7.啊哈演算法

    這本書朋友給我推薦的,寫到確實有意思,把演算法寫的簡單易懂。

    8.從Paxos到Zookeeper分散式一致性原理與實踐

    看這本書是我對分散式事務 兩階段提交(2pc)、三階段提交(3pc)、有了更深的認識。CAP理論 BASE理論。對分散式一致性有了深刻的認識。看到zookeeper的時候有點蒙,表示看不懂。最近看完《架構探險:從零開始寫分散式服務框架》後對zookeeper有了更深的認識。有時間在重讀下Zookeeper相關的內容。

    9.這就是搜尋引擎

    同事推薦的,看完這本書後對倒排索引有了更深刻的認識。自己也可以簡單的實現一個很簡單的搜尋引擎。對爬蟲相關的知識也介紹了下。基本都是理論級別的。

    10. 大型網站系統與Java中介軟體實踐

    z11.頸椎病康復手冊....

    11.頸椎病康復手冊....

    架構師影片資料

  • 8 # 程式設計獅W3Cschool

    在TIOBE剛剛釋出的10月份最新程式語言排行榜中,Java無疑還是佔據著第一的位置,還是以較大的優勢領先於其他語言。

    Java現在也有很廣泛的應用市場,它的生態系統幾乎涵蓋了目前市面上所有的軟硬體,它幾乎可以稱得上是萬能。

    Java程式設計師在市場上的需求很大,特別是Java開發能力強的程式設計師。

    所以題主是一個Java初級程式設計師的話,堅持學習,循序漸進,以後會有不錯的發展的。

    好了,進入正題,推薦一些經典的適合Java初級程式設計師的書籍。

    《Java 核心技術:卷1 基礎知識》

    這本是口碑最好的Java教程。系統全面講解Java語言的核心概念、語法、重要特性和開發方法,內有大量程式例項,極具實用價值。是Java初學者和Java程式設計師的必備參考書。

    《Java程式設計思想(第4版)》

    曾被譽為“Java聖經”。

    但是對於部分章節,可能會出現掌握不好的情況,那就反覆學習檢視,直到掌握好為止。

    有些人說每讀一遍都有新收穫,有人說應作為輔助教材。對於這本書的閱讀,建議循序漸進地看,不要操之過急。

    《編寫高質量程式碼——改善Java程式的151個建議》

    這本書的內容就是由Java編碼的最佳實踐組成,提供了關於編寫高質量Java程式碼的151條建議,對Java程式設計師來說很寶貴。

    對於每一個問題,不僅以建議的方式從正反兩面給出了被實踐證明為十分優秀的解決方案和非常糟糕的解決方案,而且還分析了問題產生的根源,有讓人豁然開朗的功效。

    《Java併發程式設計實戰》

    Brian Goetz等Java核心團隊的集體智慧結晶。

    本書深入淺出地介紹了Java執行緒和併發,是一本完美的Java併發參考手冊,其中並非只講述了Java的多執行緒設施,對一般的併發程式設計的原理也有相當透徹的闡述。

    《Effective Java》

    Joshua Bloch大神(Java Collections作者,曾是Sun公司傑出工程師和Google首席Java架構師)的代表作。

    介紹了在Java程式設計中78條極具實用價值的經驗規則,揭示了應該做什麼,不應該做什麼才能產生清晰、健壯和高效的程式碼,並透過例子程式碼加以進一步說明,這些經驗規則涵蓋了大多數開發人員每天所面臨的問題的解決方案。

    《Spring技術內幕(第2版)》

    從原始碼的角度對Spring的核心和各個主要功能模組的架構、設計和實現原理進行了深入剖析。

    你不僅能從本書中參透Spring框架的優秀架構和設計思想,還能從Spring優雅的實現原始碼中一窺Java語言的精髓。

    以上就是覺得可以為Java初級程式設計師推薦的幾本書籍,但願不是收藏不看系列...

    最後還有一句話,實操練習很重要,記得練習!練習!練習!可以自己找別的練習途徑,也可以去w3cschool的APP找到Java相關的實戰課程來提升自己。

    加油!

  • 9 # 手機使用者101244613183

    一、Java程式設計入門類  對於沒有Java程式設計經驗的程式設計師要入門,隨便讀什麼入門書籍都一樣,這個階段需要你快速的掌握Java基礎語法和基本用法,宗旨就是“囫圇吞棗不求甚解”,先對Java熟悉起來再說。用很短的時間快速過一遍Java語法,連懵帶猜多寫寫程式碼,要“知其然”。1、《Java程式設計思想》  在有了一定的Java程式設計經驗之後,你需要“知其所以然”了。這個時候《Java程式設計思想》是一本讓你知其所以然的好書,它 對於基本的面向物件知識有比較清楚的交待,對Java基本語法,基本類庫有比較清楚的講解,可以幫你打一個良好的Java程式設計基礎。這本書的缺點是實在太 厚,也比較羅嗦,不適合現代人快節奏學習,因此看這本書要懂得取捨,不是每章每節都值得一看的,挑重點的深入看就可以了。2、《Agile Java》中文版  這本書是出版社送給我的,我一拿到就束之高閣,放在書櫃一頁都沒有翻過,但 是前兩天整理書櫃的時候,拿出來一翻,竟然發現這絕對是一本好書!這本書一大特點是以單元測試和TDD來貫穿全書的,在教你Java各種重要的基礎知識的 過程中,潛移默化的影響你的程式設計思維走向敏捷,走向TDD。另外這本書成書很新,以JDK5.0的語法為基礎講解,要學習JDK5.0的新語法也不錯。還 有這本書對於內容取捨也非常得當,Java語言畢竟類庫龐大,可以講的內容太多,這本書選擇的內容以及內容的多寡都很得當,可以讓你以最少的時間掌握 Java最重要的知識,順便培養出來優秀的程式設計思路,真是一本不可多得的好書。  雖然作者自己把這本書定位在入門級別,但我不確定這本書用來入門是不是稍微深了點,我自己也準備有空的時候翻翻這本書,學習學習。二、Java程式設計進階類  打下一個良好的Java基礎,還需要更多的實踐經驗積累,我想沒有什麼捷徑。有兩本書值得你在程式設計生涯的這個階段閱讀,培養良好的程式設計習慣,提高你的程式碼質量。1、《重構 改善既有程式碼的設計》  這本書名氣很大,不用多介紹,可以在閒暇的時候多翻翻,多和自己的實踐相互印證。這本書對產生影響是潛移默化的。2、《測試驅動開發 by Example》  本書最大特點是很薄,看起來沒有什麼負擔。可以找一個週末的下午,一邊看,一邊照做,一個下午就把書看完,這本書的所有例子跑完了。這本書的作用是透過實戰讓你培養TDD的思路。三、Java架構師之路  到這個階段,應該已經非常嫻熟的運用Java程式設計,而且有了一個良好的程式設計思路和習慣了,但是可能還缺乏對應用軟體整體架構的把握,現在就是邁向架構師的第一步。1、《Expert One-on-One J2EE Design and Development》  這本書是Rod Johnson的成名著作,非常經典,從這本書中的程式碼誕生了springframework。但是好像這本書沒有中譯本。2、《Expert One-on-One J2EE Development without EJB》  這本書由gigix組織翻譯,多位業界專家參與,雖然署名譯者是JavaEye,其實JavaEye出力不多,實在是忝居譯者之名。  以上兩本書都是Rod Johnson的經典名著,Java架構師的必讀書籍。在所推薦的這些書籍當中,是看過的最仔細,最認真的書,當時讀這本書幾乎是廢寢忘食的一氣讀完的, 有小時候挑燈夜讀金庸武俠小說的勁頭,書中所講內容和自己的經驗知識一一印證,又被無比精闢的總結出來,讀完這本書以後,有種被打通經脈,功力爆增的感 覺。  但是後來看過一些其他人的評價,似乎閱讀體驗並沒有那麼high,也許是因為每個人的知識積累和經驗不同導致的。那個時候剛好是經驗知識積累已經足夠豐富,但是還沒有系統的整理成型,讓這本書一梳理,立刻形成完整的知識體系了。3、《企業應用架構模式》Martin的又一本名著,但這本書只是泛泛的看了一遍,並沒有仔細看。這本書 似乎更適合做框架的人去看,例如如果打算自己寫一個ORM的話,這本書是一定要看的。但是做應用的人,不看貌似也無所謂,但是如果有空,還是推薦認真看 看,會讓知道框架為什麼要這樣設計,這樣的層次可以晉升到框架設計者的角度去思考問題。Martin的書向來都是推崇,但是從來都沒有像Rod Johnson的書那樣非常認真去看。4、《敏捷軟體開發原則、模式與實踐》  Uncle Bob的名著,敏捷的經典名著,這本書比較特別,與其說是講軟體開發過程的書,不如說講軟體架構的書,本書用了很大篇幅講各種面向物件軟體開發的各種模式,個人以為看了這本書,就不必看GoF的《設計模式》了。四、軟體開發過程  瞭解軟體開發過程不單純是提高程式設計師個人的良好程式設計習慣,也是增強團隊協作的基礎。1、《UML精粹》UML其實和軟體開發過程沒有什麼必然聯絡,卻是軟體團隊協作溝通,撰寫軟體文件需要的工具。但是UML真正實用的圖不多,看看這本書已經足夠了,完全沒有必要去啃《UML使用者指南》之類的東西。要提醒大家的是,這本書的中譯本翻譯的非常之爛,建議有條件的看英文原版。2、《解析極限程式設計 擁抱變化》XP  這是Kent Beck名著的第二版,中英文對照。沒什麼好說的,必讀書籍。3、《統一軟體開發過程》UP  其實UP和敏捷並不一定衝突,UP也非常強調迭代,測試,但是UP強調的文件和過程驅動卻是敏捷所不取的。不管怎麼說,UP值得去讀,畢竟在中國真正接受敏捷的企業很少,還是需要用UP來武裝一下自己的,哪怕是披著UP的XP。4、《敏捷建模》AMScott Ambler的名著,這本書非常的progmatic,告訴怎麼既 敏捷又UP,把敏捷和UP統一起來了,又提出了很多progmatic的建議和做法。可以把《解析極限程式設計擁抱變化》、《統一軟體開發過程》和《敏捷建 模》這三本書放在一起讀,看XP和UP的不同點,再看AM是怎麼統一XP和UP的,把這三種理論融為一爐,形成自己的理論體系,那麼也可以去寫書了。五、軟體專案管理  如果突然被領導提拔為專案經理,而完全沒有專案管理經驗,肯定會心裡沒底;如果覺得自己管理專案不善,很想改善專案管理能力,那麼去考PMP肯定是遠水不解近渴的。1、《快速軟體開發》  這也是一本名著。可以這樣說,有本書在手,就有了一個專案管理的高階參謀給 你出謀劃策,再也不必擔心自己不能勝任的問題了。這本書不是講管理的理論的,在實際的專案管理中,講這些理論是不解決問題的,這本書有點類似於“軟體專案 點子大全”之類的東西,列舉了種種軟體專案當中面臨的各種問題,以及應該如何解決問題的點子,只需要稍加變通,找方抓藥就行了。六、總結  在這份推薦閱讀書籍的名單中,沒有列舉流行的軟體框架類學習書籍,例如Struts,Hibernate,Spring之類,也沒有列舉AJAX方面的書籍。是因為這類書籍容易過時,而上述的大半書籍的生命週期都足夠長,值得去購買和收藏。【二.Java書籍Top 10】下面是Java Inside上推薦的十本不錯的Java書籍。1)Java Language Specification, Third Edition (by James Gosling)本書由Java技術的發明者編寫,是Java TM程式語言的權威性技術指南。如果你想知道語言之構造的精確含義,本書是最好的資源。

    2)Effective Java , Second Edition (by Joshua Bloch)本書介紹了在Java程式設計中78條極具實用價值的經驗規則,這些經驗規則涵蓋了大多數開發人員每天所面臨的問題的解決方案。透過對Java平臺設計專家所使用的技術的全面描述,揭示了應該做什麼,不應該做什麼才能產生清晰、健壯和高效的程式碼。.本書中的每條規則都以簡短、獨立的小文章形式出現,並透過例子程式碼加以進一步說明。本書內容全面,結構清晰,講解詳細。可作為技術人員的參考用書。…

    3)Java Concurrency in Practice (by Brian Goetz)隨著多核處理器的普及,使用併發成為構建高效能應用程式的關鍵。Java 5以及6在開發併發程式取得了顯著的進步,提高了Java虛擬機器的效能,提高了併發類的可伸縮性,並加入了豐富的新併發構建塊。在本書中,這些便利工具的創造者不僅解釋了它們究竟如何工作、如何使用,同時,還闡釋了創造它們的原因,及其背後的設計模式。 本書既能夠成為讀者的理論支援,又可以作為構建可靠的,可伸縮的,可維護的併發程式的技術支援。本書並不僅僅提供併發API的清單及其機制,本書還提供了設計原則,模式和思想模型,使我們能夠更好地構建正確的,效能良好的併發程式。本書的讀者是那些具有一定Java程式設計經驗的程式設計師、希望瞭解Java SE 5,6線上程技術上的改進和新特性的程式設計師,以及Java和併發程式設計的愛好者。

    4)Java Puzzles: Traps, Pitfalls and Corner Cases (by Joshua Bloch)Java教父的又一經典名著–Java Puzzlers,Amazon五星圖書。認為你到底有多瞭解Java?你是一個程式碼神探嗎?你是否曾經花費過數天時間去追蹤一個由Java或其類庫的陷阱和缺陷而導致的bug?你喜歡智力測驗嗎?那麼這本書正好適合你!

    5)Thinking in Java (by Bruce Eckel)本書贏得了全球程式設計師的廣泛讚譽,即使是最晦澀的概念,在Bruce Eckel的文字親和力和小而直接的程式設計示例面前也會化解於無形。從Java的基礎語法到最高階特性(深入的面向物件概念、多執行緒、自動專案構建、單元測試和除錯等),本書都能逐步指導你輕鬆掌握。從本書獲得的各項大獎以及來自世界各地的讀者評論中,不難看出這是一本經典之作。本書的作者擁有多年教學經驗,對C、C++以及Java語言都有獨到、深入的見解,以通俗易懂及小而直接的示例解釋了一個個晦澀抽象的概念。本書共22章,包括運算子、控制執行流程、訪問許可權控制、複用類、多型、介面、透過異常處理錯誤、字串、泛型、陣列、容器深入研究、Java I/O系統、列舉型別、併發以及圖形化使用者介面等內容。這些豐富的內容,包含了Java語言基礎語法以及高階特性,適合各個層次的Java程式設計師閱讀,同時也是高等院校講授面向物件程式設計語言以及Java語言的絕佳教材和參考書。

    6)Better, faster, lighter Java (by Justin Gehtland, Bruce A. Tate)Java的開發者正深陷於複雜性的泥沼中而無法自拔。我們的經驗和能力正接近極限,程式設計師為了編寫支援所選框架的程式所花的時間比解決真正問題的時間要多得多。我們不禁要問,有必要把Java搞得這麼複雜嗎?.答案是否定的。本書給你指引了一條出路。無論是維護應用程式,還是從頭開始設計,你都能夠超越成規,並大幅精簡基本框架、開發過程和最終程式碼。你能重新掌握一度失控的J2EE應用程式。..在本書中,原作者Bruce A.Tate與Justin Gehtland將循序漸進、娓娓道來。首先,他們列出了五項基本法則。他們展示瞭如何構建簡單、解耦的程式碼,並告訴你如何選擇技術。他們還對兩種被廣泛運用的開源程式如何迎合這些概念進行了剖析。最後,作者還將利用這些基本概念構建一個簡單但內涵豐富的應用程式來解決現實世界中所遇到的問題。

    7)Core Java (vol. 1, 2) (by Cay S. Horstmann, Gary Cornell)《Java核心技術》出版以來一直暢銷不衰,深受讀者青睞,每個新版本都儘可能快地跟上Java開發工具箱發展的步伐,而且每一版都重新改寫了部分內容,以便適應Java的最新特性。本版也不例外,它反映了Java SE 6的新特性。全書共14章,包括Java基本的程式結構、物件與類、繼承、介面與內部類、圖形程式設計、事件處理、Swing使用者介面元件、部署應用程式和Applet、異常日誌斷言和除錯、泛型程式設計、集合以及多執行緒等內容。.全書對Java技術的闡述精確到位,敘述方式深入淺出,幷包含大量示例,從而幫助讀者充分理解Java語言以及Java類庫的相關特性。

    8) The Java Virtual Machine Specification (by Tim Linholm, Frank Yellin)如果你需要了解Java虛擬機器的byte code,或者是一些編譯方面的東西,這本書絕對讓你得償所願。其不但包含了機器碼的規範說明,同時它也是Java編譯器和執行環境的規格說明書。

    9)Robust Java: Exception Handling, Testing, and Debugging (by Stephen Stelting)處理異常涉及開發、設計和體系結構等方面的知識。本書共分3個部分。  第Ⅰ部分介紹Java異常的產生機理和用法,介紹一些最佳實踐,講述各類異常處理使用的一般API和技術。  第Ⅱ部分闡述可測試性設計,介紹故障模式分析,討論常見API的異常及起因,分析J2EE體系結構和分散式API的異常模式。  第Ⅲ部分討論在軟體開發週期執行異常和錯誤處理,分析軟體體系結構、設計模式、測試和除錯,列舉成熟的設計模式,介紹處理策略對系統體系結構的影響,講述如何構建健壯系統。

    10)Java Code Convention最後一本當然是Java編碼規範,這是由Sun公司官方出品的。這也是每個程式設計師為了得供程式的易讀性,可維護性需要知道的。

    【三.Java 專業人士必備的書籍】

    每個程式設計師都會有一些由於經常被當作專業資料參閱而磨壞的書。下列書籍應該是 Java 語言程式設計師的書架上必備的。書很貴,所以我有意將這份列表弄得很短,僅限於重要書籍。

    Thinking in Java (Bruce Eckel)

    Thinking in Java, 3rd edition(Bruce Eckel; Prentice Hall PTR,2002 年)

    Java 程式設計思想:第3版(陳昊鵬 等譯; 機械工業出版社,2005 年)

    Eckel 的書對於學習如何在 Java 語言環境中使用好面向物件技術極其實用。書中大量的程式碼樣例解釋了他所介紹的概念。文字出自一個並不認為 Java 技術總是正確答案的人,所以相當地實用。Eckel 具有多種語言的大量經驗,還有用面向物件方式進行思考的紮實技能。本書將這些技能放到實用的 Java 語言環境中。他還在寫一本新書,名為Thinking in Enterprise Java。

    Effective Java (Joshua Bloch)

    Effective Java: Programming Language Guide(Joshua Bloch; Addison-Wesley,2001 年)

    Effective Java 中文版(潘愛民 譯; 機械工業出版社,2003 年)

    本書是理解優秀 Java 程式設計原則的最佳書籍。大多數材料從其他的 “學習 Java ” 的書中根本找不到。例如,Bloch 書中關於覆蓋equals() 這一章是我讀過的最好的參考資料之一。他也在書中包括了很實用的建議:用介面替代抽象類和靈活使用異常。Bloch 是 Sun 公司 Java 平臺庫的架構師,所以他透徹地瞭解這門語言。事實上,他編寫了該語言中大量有用的庫。本書必讀!

    The Java Programming Language (Ken Arnold, James Gosling, David Holmes)

    The Java Programming Language(Ken Arnold,James Gosling,David Holmes; Addison-Wesley,2000 年)

    Java 程式語言(第 3 版)(虞萬榮 等譯,中國電力出版社,2003 年)

    這也許是能弄到的最好的 Java 入門讀物。它並不是一個標準規範,而是一本介紹每門語言特性的可讀書籍。這本書在嚴謹性和教育性方面權衡得很好,能夠讓懂程式設計的人迅速被 Java 語言(和其豐富的類庫)所吸引。

    Concurrent Programming in Java: Design Principles and Patterns (Doug Lea)

    Concurrent Programming in Java: Design Principles and Patterns, 2nd edition(Doug Lea; Addison-Wesley,1999 年)

    Java 併發程式設計—設計原則與模式(第二版)(趙湧 等譯,中國電力出版社,2004 年)

    不是每個開發人員都需要如此細緻地瞭解併發性,也不是每個工程師都能達到本書的水準,但卻沒有比本書更好的關於併發性程式設計的概述了。如果您對此感興趣,請從這裡開始。Lea 是 SUNY 的一名專業程式設計師,他的和併發性有關的作品和想法都包含在了 JDK 5.0 規範(引自 JSR166)中,所以您大可放心,他所說的關於有效使用 Java 語言的建議是值得一聽的。他是一個很善於溝通的人。

    Expert One-On-One J2EE Design and Development (Rod Johnson)

    Expert One-On-One J2EE Design and Development(Rod Johnson)

    WROX: J2EE 設計開發程式設計指南(魏海萍 譯,電子工業出版社,2003 年)

    對於剛接觸 J2EE 的人來說,這是唯一的一本如實反映這項技術的書。本書收錄了多年的成功經驗和失敗經驗,不同於其他許多作者,Johnson 樂於將失敗的經驗公諸於眾。J2EE 常常都被過度使用。Johnson 的書能幫您避免這一點。

    Refactoring (Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts)

    Refactoring: Improving the Design of Existing Code(Martin Fowler,Kent Beck,John Brant,William Opdyke,Don Roberts; Addison-Wesley,1999 年)

    重構:改善既有程式碼的設計(中文版)(侯捷 等譯,中國電力出版社 ,2003 年)

    Fowler 寫了幾本現已出版的最流行的程式設計書,包括Analysis Patterns。他的關於重構的書是這一主題的基本書籍。重構程式碼是被程式設計師忽略的訓練,但卻是程式設計師最直觀的想法。重構是在不改變程式碼結果的前提下改進現有程式碼的設計。這是保持程式碼整潔的最佳方式,用這種方法設計的程式碼總是很容易修改。什麼時候進行重構呢?當代碼“散發出味道”時。Fowler 的書裡滿是 Java 語言程式碼的例子。許多 Java 語言整合開發環境(IDE)(包括了 IBM 的 Eclipse)都將 Fowler 的重構包含了進去,每一個都使用他的重構名命名,所以熟悉如extract method等重構方法還是很值得的。

    Design Patterns (Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides)

    Design Patterns: Elements of Reusable Object Oriented Software(Erich Gamma,Richard Helm,Ralph Johnson,John Vlissides; Addison-Wesley,1997 年)

    設計模式:可複用面向物件軟體的基礎(李英軍 等譯,機械工業出版社 ,2005 年)

    這是一本在專業程式設計師圈子裡更為有名的書,基於作者共同的綽號,這本書被認為是 “四人幫(GOF)之書”。模式是思考和解決普通程式設計問題時可以重用的方式。學習模式是一門學科。使用好模式(或知道什麼時候不使用模式)是一項技能。忽略模式則是錯誤的。書中所有的例子都以 C++ 表示,但 Java 語言是從那裡誕生的,讓 Java 語言程式設計師由此聯絡到如何在 Java 語言中實現這些模式相對簡單一些。熟悉模式並瞭解如何使用好模式使程式設計更加簡單。這使得和其他程式設計師交流也更簡單,因為在針對通用問題的通用解決方案中,模式是描述解決方案中彼此協作的大量相關程式設計概念的快捷方式。一些更為通用的方式,如工廠方法則是普便存在的,甚至存在於 Java 語言本身。關於明智使用模式的這個主題,也可以閱讀 Joshua Kerievsky 的Refactoring to Patterns,該書稱可以讓程式碼來告訴您何時實現模式。

    Patterns of Enterprise Application Architecture (Martin Fowler)

    Patterns of Enterprise Application Architecture(Martin Fowler; Addison-Wesley,2002 年)

    企業應用架構模式(王懷民 等譯,機械工業出版社 ,2004 年)

    比起小型、一次性專案來說,企業開發當然代表了更大的挑戰。那並不意味著企業開發帶來的所有挑戰都是新挑戰。事實上有些時候,這項開發已經是以前完成過的了。Fowler 做了很多個這樣的專案。他的書提到了一些通用解決方案,並提供了關於使用、折中和可選方案的指導。Fowler 在書中包含了一些熟悉的模式,如模型檢視控制器(MVC),他也提供了一些您也許不瞭解的模式,如處理 Web 站點上特定頁面請求或行為請求的 Page Controller 模式。正如您對待大多數模式一樣,一旦您讀過許多模式,您就會認為 “我已經知道那個模式了” 。也許是這樣,但有一個用來引用模式的通用表達方式還是很有幫助的。在有多個元件(由不同人開發)的大型專案中,該類引用是一項很好的幫助。

    UML Distilled (Martin Fowler)

    UML Distilled: A Brief Guide to the Standard Object Modeling Language(Martin Fowler; Addison-Wesley 2003 年)

    UML精粹:標準物件語言簡明指南(第3版)(徐家福 譯,清華大學出版社 ,2005 年)

    對於專業的程式設計師來說,UML 是一門很重要的通用視覺化溝通語言,但是它被過度使用和草率地濫用了。您無需對使用 UML 溝通了解太多。Martin 對 UML 的提煉為您提供了最核心的東西。事實上,前後的封頁提供了常規基礎上可能使用到的所有東西。該書中 UML 例子的程式碼都是 Java 程式碼。

    Test-Driven Development: By Example (Kent Beck)

    Test-Driven Development: By Example(Kent Beck; Addison-Wesley 2002 年)

    測試驅動開發(中文版)(崔凱 譯,中國電力出版社 ,2004 年)

    測試優先程式設計將使程式設計發生革命性變化,能助您成為更好的程式設計師。在寫程式碼之前編寫測試開始很難,但卻是一項威力強大的技能。透過優先編寫測試,可使程式碼更加簡單,並確保從一開始它就能工作(Beck 實踐著他提倡的測試優先,與人合寫了 JUnit,這是 Java 語言最流行的測試框架)。Beck 的書是權威的參考資料,擴充套件了的 Money 例子也用 Java 語言寫成。Beck 詳述瞭如何用測試優先進行思考(這也許是許多程式設計師首先遇到的障礙)。

    The Pragmatic Programmer: From Journeyman to Master (Andy Hunt and Dave Thomas)

    The Pragmatic Programmer: From Journeyman to Master(Andrew Hunt 和 David Thomas; Addison-Wesley 1999 年)

    程式設計師修煉之道——從小工到專家(馬維達 譯,電子工業出版社 ,2004 年)

    做一個純粹的面向物件開發人員有其優勢所在。在當今複雜的社會中,作為 Java 語言開發人員,為完成任務常要妥協。Hunt 和 Thomas 探討了如何不將真正重要的東西妥協掉而完成任務。這不是一本關於 Java 語言的書,而是 Java 語言開發人員重要的思想讀物。例如,我認為沒從“要解決問題,而不是推卸責任”這句忠言中受益的程式設計師,不能像個自豪的藝術家一樣在他的傑作上籤上大名。

    Peopleware: Productive Projects and Teams (Tom DeMarco and Timothy Lister)

    Peopleware: Productive Projects and Teams(Tom DeMarco,Timothy Lister; Dorset House,1999 年)

    人件(第2版)(UMLChina 翻譯組 譯,清華大學出版社 ,2003 年)

    這份列表中的其他所有書籍都至少和技術有些相關。這本書卻不是。在所有技術行話和首字母縮略詞的海洋中,有時軟體開發人員和經理們會忘記:是人制造了軟體。DeMarco 和 Lister 向我們提醒了這一事實,也向我們提醒了形成這一區別的原因。這不是一本關於一門特定程式語言的書籍,但卻是每個 Java 語言程式設計師都應該讀的書。關於 “累死程式設計師如何讓經理們適得其反” 還有許多其他的好書,但這是最好的一本。

    【四.推薦給初級Java程式設計師的3本進階書 】

    原作者在這篇文章中介紹3本不錯的技術書籍。作者認為這些書籍對新手或者學生而言尤其有幫助。透過一些基礎性的教程入門後,我們可以使用Java做基礎性的程式設計。然而,當我們需要從初級提升更高的一個層次時,大多數的人卻不知道從何入手。一些好的書籍在這個階段可以很好地幫助初級開發人員。

    《Head First設計模式》

    這本書介紹 GoF常用設計模式的方式引人入勝。如果只看封面很難看出來這是一本技術書籍,更不用說這本技術書籍介紹的還是面向物件程式設計的一些很有用的技巧。這本書採用 Kathy Sierra式編寫風格:雖然她的部落格已經關了,但是還是能從前面這個連結看到一些她的文章,建議讀一讀。如果你周圍有人認為設計模式沒有什麼用處,這本書倒是能夠讓他們改變看法。個人而言,我認為經典的 GoF 手冊是一個很好的參考,但它並不是專為新手準備的。因此強烈推薦在校生(包括那些不清楚組合模式是什麼的程式設計師們)閱讀此書。

    書中介紹的設計模式是程式開發中比較基本的程式設計模式,也是面向物件程式設計的程式設計師應該瞭解和掌握的。接下來要介紹的這本書則更偏向於Java語言本身,這也是我日常使用的程式語言。

    《Effective Java中文版》第二版

    Joshua Bloch是Google公司的首席Java設計師,並且也是一位Jolt 獎獲得者。他之前是Sun的一位傑出工程師(distinguished engineer),也是Transarc公司的一個資深系統設計師。Bloch主導了眾多基於Java平臺的軟體系統的設計和實現,包括JDK5.0的功能加強以及獲得過獎項的Java集合框架的設計實現。他同時也參與編寫了《Java解惑| Java Puzzlers》 和《Java併發程式設計實戰| Java Concurrency in Practice》這兩本技術書。

    就憑“Java集合框架開發者”這個稱號,我們就應該認真聽取這位值得尊敬的程式設計師的建議。這些建議在這本書中組織成78個點:讀者可以按照自己的速度進行閱讀。

    在複寫equals和hashcode方法時,我們應該遵循什麼規則?不可變類(immutable class)是什麼?在特定的情況下,應當選用哪種最相關的異常型別?執行時異常(Runtime exception)還是可捕獲異常(checked exception)?對於一個託管語言(managed language,詳細請參考 wiki介紹),如何在混淆編譯時保留(preserve)類的成員?

    上面所有的問題(也包括其他74個)都有實用主義者Joshua Bloch的詳細解釋。讀完這本書,程式設計師應該能意識到使用Findbugs、Checkstyle這些工具的必要性了。

    《Java併發程式設計實戰》

    一年前我正努力在做 UI 開發工作時(在Eclipse外掛中使用SWT/JFace,其他一些專案則使用Swing ),就看了這本書。那時,我想了解如何實現一個快速響應的UI,從而能給使用者更好的使用體驗。我知道自己寫執行緒安全的程式碼是非常複雜的,儘管執行時間長的操作通常是一個獨立的執行緒。UI開發和多核系統應用開發是學習如何開發執行緒安全的軟體系統的一個很好的理由。

    這本書的作者如下:Brian Goetz,Joshua Bloch(又出現這位大牛了,我們剛提到過,還記得嗎?), Doug Lea(java.util.concurrent包的開發者), David Holmes,Tim Peierls 和Joseph Bowbeer。

    這本書的風格非常直接,有的程式碼在非執行緒安全的環境下表現不錯,可一旦到了執行緒安全的環境下就變得十分的危險。接著,這本書介紹了基本的保證執行緒安全的機制:同步機制,volatile關鍵字等。本書還有對java.util.concurrent介面的介紹,你可以根據自己的需要來選擇適合的併發集合類。這本書也介紹了程式執行時的錯誤管理,以及如何測試程式碼是否是執行緒安全的。而且書中還提供了說明性的註釋(Annotation)(下載),這些註釋通過了FindBugs的檢查!

  • 10 # 碼農視界

    但作為初學者,我還有一個建議:就是將自己看書的時間錯後。

    我看很多人推薦了像《Head First Java》、《Java 程式設計思想》等等書籍!不得不說,這些書的確是很好,但想要達到很好的學習效果,絕對不是做在學習之初就看。

    原因:

    因為這些書本都是技術大牛對知識點儘可能詳細系統的羅列,而忽略了初學者如何才能快速上手。這也就是很多人覺得java很頭疼,覺得自己看程式碼也都看得懂,對每個知識點也都知道,就是自己沒思路,寫不出東西的原因。

    那到底該什麼時候看這些書籍呢?

    當你有一定的思維,能夠熟練的寫一些特效案例,或者能自己獨立寫個簡單的遊戲(打飛機、推箱子等)的時候再去看書,你會發現事半功倍,看啥都懂,而且能夠立馬運用,這就是補充基礎的時候了。

    學習之初應該怎麼學習java呢?

  • 11 # 驚天一墜

    可以先看看head first java,不建議初學者看java程式設計思想,沒有實踐過怎麼去檢驗它裡面的思想,這是誤人子弟。這時候可以結合些影片學習。從基礎到資料庫,框架,循序漸進,會基本的crud.這個時候也許你想探究為什麼,而不是被動的接受。可以去看java程式設計的邏輯這本書,研究jdk原始碼,遇到原始碼裡不懂的演算法,可以去看看演算法第四版真本書。研究多執行緒時可以去看java併發程式設計實戰,遇到不懂的好多可以從作業系統,編譯原理裡面獲得答案。根基打的牢,後面的新東西學的就快。

  • 12 # IT冷姿勢

    Java難,自學更難,零基礎自學是難上加難。

    (強人鎖男.jpg)

    為此,小U妹特別總結出一些適合零基礎同學學習的書籍,推薦給大家:

    1《Head First Java》java入門書籍

    《Head First Java》是本完整的面向物件(object-oriented,OO)程式設計和Java的學習指導。此書是根據學習理論所設計的,讓你可以從學習程式語言的基礎開始一直到包括執行緒、網路與分散式程式等專案。最重要的,你會學會如何像個面向物件開發者一樣去思考。但如果你真地想要好好地學習Java,你會需要《Head First Java》。這本書可是Amazon編輯推薦的十大好書之一!強烈推薦學習此書,非常適合初學者入門。

    2《Java從入門到精通》適合自學者

    《Java從入門到精通》這本書主要針對java基礎,對於沒有學過java的人才說,是一個不錯的選擇。透過這本書,大家可以從零開始,慢慢來學習,而且實操很多,不會讓你看到最後出現只會理論的情況。為什麼說培訓的人不用看呢?因為這本書上的內容和許多培訓機構的書籍有很多重複的地方,所以參加培訓的同學就可以不看了。如果覺得自學太難太慢的話,那就報培訓機構吧,推薦知海匠庫網際網路學院,網易系出身,真實專案操作會讓你更快上手。

    3 《Thinking in java》(中文名:《Java程式設計思想》)適合中級自學者和培訓者

    《Java程式設計思想》可以說是最經典的java著作,是所有java程式設計師必備教科書。這本書不管是正在學習還是已經工作許多年的程式設計師,都可以從這本書中得到你想要的東西。這本書具有教材和工具書的作用,就像一本字典,想知道什麼都可以從中查詢。雖然這本書很好,但並不建議初學者學習,對於初學者難度較大。

    4《瘋狂Java講義》適合自學者看

    《瘋狂的講義》這本書比較適合自學者,內容比較專案化,實操方法很多,如果你想進行java的深入學習,不妨看看這本書。

    5《Java核心技術》最適合報培訓班的看

    這本書分為兩個部分,第一個部分講的是基礎知識,第二個部分講的是高階特性。由於內容非常有層次,所以非常適合自學和上培訓機構的同學學習。尤其對參加培訓的同學作用較大,因為一般培訓機構講的非常快,有很多東西沒辦法及時消化吸收,很多基礎和核心的東西就會掌握的不牢固,那麼這本書正好彌補了這個缺失。

    6 《Java開發實戰經典》適合自學者看

    這本書比較適合自學者學習,裡面有很多小案例,可以邊學邊練,鞏固知識。

  • 中秋節和大豐收的關聯?
  • 是否能透過外在判斷一個人的內在心理和性格特徵?如何判斷?