本文作者,優(yōu)知學院創(chuàng)始人 陳睿 優(yōu)知學院是IT人在線進階站,幫助IT人升職加薪,提供系統的互聯網產品技術進階干貨資料和課程,以及定期的線下實戰(zhàn)活動。 “ 以下是我推薦給Java開發(fā)者們的一些值得一看的好書,從java基礎開始到高級,以及從高級進階到架構等的書單。 基本都是經典之作,可以利用工作閑暇的時間,系統閱讀。 java程序員進階之路 上圖是完整java程序員進階之路,可以進階架構師也可以結合管理進階,往技術經理、總監(jiān)發(fā)展。 上周,寫了程序員進階到架構師三篇,基本涵蓋了java程序員到架構師的必備技能。如果要想系統掌握,可以結合書單一起自學進階。 java程序員進階書單 1 剛畢業(yè)工作1-2年java程序員 在這一年里,你至少需要看完《Java編程思想》這本書。如果部分章節(jié),掌握不好的情況,就反復學習查看,直到掌握好為止。 《Thinking in Java》java系列經典開啟書。Bruce Eckel在書中不僅僅講解了Java的語法,更重要的是將OOP編程思想循序漸進、淺顯易懂地表達出來。從這點上來說,中文版翻譯成Java編程思想非常恰當 JAVA核心技術(卷1):基礎知識,剛入行業(yè)的java程序員,很多都是以本書開啟自己的生涯。與《Java編程思想》齊名的Java圖書泰山北斗,前者內容豐富,在講述Java語言的同時把Java編程思想也娓娓道來,讓人如沐春風;后者偏重于講解Java技術,舉例說明了大量API的使用。 此書分為了基礎版和高級特性版,你也可以讀java編程思想,也有涉及高級特性部分。這本書在新手入門上比《Thinking in Java》稍勝一籌,但在內容深廣度、性價比方面則跟《Thinking in Java》不可同日而語,建議選讀。 這個階段還需要掌握web開發(fā)基礎:html css,js等web開發(fā)基礎,以及java web開發(fā)框架 struts2 springmv mybatis等框架,熟練使用mysql以及相關工具mysql-front等,以及常用的開發(fā)工具:eclipse等。 2 工作3年左右的java高級程序員 這部分時間段的同學,已經對Java有了一個更加深入的了解。但是對于面向對象的體會可能還不夠深刻,編程的時候還停留在完成功能的層次,很少會去考慮設計的問題。于是這個時候,設計模式就來了。這個階段,你的核心任務就是提高你的代碼能力,注重代碼的質量。 首先,從設計模式開始了解代碼這門藝術。 《Head First設計模式》(中文版)共有14章,每章都介紹了幾個設計模式,完整地涵蓋了四人組版本全部23個設計模式。Strategy、Observer、Decorator、Abstract Factory、Factory Method、Singleton,Command、Adapter、Facade、TemplateMethod等, 這本書,通俗易通,寫得很有趣,圖文并茂,設計模式入門。 號稱設計模式領域的圣經,軟件工程和軟件架構必看的書籍。內功修養(yǎng)。這本書結合設計實作例從面向對象的設計中精選出23個設計模式,總結了面向對象設計中最有價值的經驗,并且用簡潔可復用的形式表達出來。 四位作者均是國際公認的面向對象軟件領域的專家。Head First設計模式擁有風趣的語言和詼諧的例子,但它既缺乏實際的工程范例,也沒有給出設計模式的應用/適用場景。 我個人建議是在讀完Head First這本書之后立即閱讀“四人幫”的這本設計模式。 本書介紹了在Java編程中78條極具實用價值的經驗規(guī)則,這些經驗規(guī)則涵蓋了大多數開發(fā)人員每天所面臨的問題的解決方案。通過對Java平臺設計專家所使用的技術的全面描述,揭示了應該做什么,不應該做什么才能產生清晰、健壯和高效的代碼。 可以適當的接觸敏捷開發(fā),在本書是全球的軟件開發(fā)專家和軟件工程大師Robert C.Martin將向您展示如何解決軟件開發(fā)人員、項目經理及軟件項目領導們所面臨的最棘手的問題。這本綜合性、實用性的敏捷開發(fā)和極限編程方面的指南,是由敏捷開發(fā)的創(chuàng)始人之一所撰寫的。 Martin Fowler和《重構:改善既有代碼的設計》另幾位作者清楚揭示了重構過程,他們?yōu)槊嫦驅ο筌浖_發(fā)所做的貢獻,難以衡量。 任何產品代碼都不是一蹴而就,而是在反復不斷的修改中進化而來。 重構正是這樣一本介紹如何改進代碼的書籍——如何在保持代碼行為的基礎上,提升代碼的質量(這也是重構的定義)。 3 工作3年以上準備往架構師方向發(fā)展 這個階段,我用一句來總結。你需要做的是深入了解java相關的技術原理,Java底層和Java類庫,以及SSM、SSH等常用框架源代碼,JVM、分布式緩存、存儲、Linux內核等的核心原理。 Java程序員必讀經典,深入理解Java虛擬機。 《深入理解Java虛擬機:JVM高級特性與最佳實踐(第2版)》共分為五大部分,圍繞內存管理、執(zhí)行子系統、程序編譯與優(yōu)化、高效并發(fā)等核心主題對JVM進行了全面而深入的分析,深刻揭示了JVM的工作原理。 確為提升Java功力之良藥。本書使自己對于虛擬機的運行機理與底層知識真正來了一次近距離接觸,許多知識不再只是符號或文字的堆疊,而是一種真正地理解。國人很難寫出這么棒的書,本書值得推薦。 其次,在過去的工作當中,你肯定或多或少接觸過并發(fā)。這個時候,你應該去更加深入的了解并發(fā)相關的知識。推薦《Java并發(fā)編程實戰(zhàn)》這本書。 本書圍繞大型網站和支撐大型網站架構的 Java 中間件的實踐展開介紹。從分布式系統的知識切入,讓讀者對分布式系統有基本的了解;然后介紹大型網站隨著數據量、訪問量增長而發(fā)生的架構變遷;接著講述構建 Java 中間件的相關知識;之后的幾章都是根據筆者的經驗來介紹支撐大型網站架構的 Java 中間件系統的設計和實踐。 如果對淘寶的Java技術感興趣,這本書就是最佳的干貨選擇。作者是淘寶Java中間件團隊的創(chuàng)始人,如果你想全面了解中間件,推薦此書。 本書是作者在多年的工作中積累的第一手Spring框架使用經驗的總結,深入剖析了Spring框架各個模塊的功能、出現的背景、設計理念和設計原理,揭開了Spring框架的神秘面紗,使你“知其然,更知其所以然”。 Spring里實踐了大量Java語言優(yōu)秀的理念,此書通過講解Spring原理,通俗易懂地向我們展示了這些理念。Spring對于java框架 系列的重要性之高,三大框架ssh里面寫的最好的一本書,非常推薦這本書。 《大型網站技術架構:核心原理與案例分析》通過梳理大型網站技術發(fā)展歷程,剖析大型網站技術架構模式,深入講述大型互聯網架構設計的核心原理,并通過一組典型網站技術架構設計案例,為讀者呈現一幅包括技術選型、架構設計、性能優(yōu)化、Web 安全、系統發(fā)布、運維監(jiān)控等在內的大型網站開發(fā)全景視圖。 大型網站架構設計的清單,比較全面、系統、清晰,雖然講解得不是特別深入,但卻比較樸實易懂,架構入門系列文章。 涵蓋了Web站點性能優(yōu)化的所有內容,包括數據的網絡傳輸、服務器并發(fā)處 理能力、動態(tài)網頁緩存、動態(tài)網頁靜態(tài)化、應用層數據緩存、分布式緩存、Web服務器緩存、反向代理緩存、腳本解釋速度、頁面組件分離、瀏覽器本地緩存、瀏覽器并發(fā)請求、文件的分發(fā)、數據庫I/O優(yōu)化、數據庫訪問、數據庫分布式設計、負載均衡、分布式文件系統、性能監(jiān)控等。 高性能入門的好書,我個人也是從這本開啟高性能之旅。 |
|
來自: 昵稱47632286 > 《java》