java架構師之路:JAVA程序員必看的15本書的電子版下載地址

java架構師之路:JAVA程序員必看的15本書的電子版下載地址



  作為Java程序員來說,最痛苦的事情莫過于可以選擇的范圍太廣,可以讀的書太多,往往容易無所適從。我想就我自己讀過的技術書籍中挑選出來一些,按照學習的先后順序,推薦給大家,特別是那些想不斷提高自己技術水平的Java程序員們。


一、Java編程入門類

  對于沒有Java編程經驗的程序員要入門,隨便讀什么入門書籍都一樣,這個階段需要你快速的掌握Java基礎語法和基本用法,宗旨就是“囫圇吞棗不求甚解”,先對Java熟悉起來再說。用很短的時間快速過一遍Java語法,連懵帶猜多寫寫代碼,要“知其然”。

1、《Java編程思想》

下載地址:http://www.shangxueba.com/share/p2446196.html

  在有了一定的Java編程經驗之后,你需要“知其所以然”了。這個時候《Java編程思想》是一本讓你知其所以然的好書,它對于基本的面向對象知識有比較清楚的交待,對Java基本語法,基本類庫有比較清楚的講解,可以幫你打一個良好的Java編程基礎。這本書的缺點是實在太厚,也比較羅嗦,不適合現代人快節奏學習,因此看這本書要懂得取舍,不是每章每節都值得一看的,挑重點的深入看就可以了。

2、《Agile Java》中文版

下載地址:http://www.shangxueba.com/share/p2564807.html?

  這本書是出版社送給我的,我一拿到就束之高閣,放在書柜一頁都沒有翻過,但是前兩天整理書柜的時候,拿出來一翻,竟然發現這絕對是一本好書!這本書一大特點是以單元測試和TDD來貫穿全書的,在教你Java各種重要的基礎知識的過程中,潛移默化的影響你的編程思維走向敏捷,走向TDD。另外這本書成書很新,以JDK5.0的語法為基礎講解,要學習JDK5.0的新語法也不錯。還有這本書對于內容取舍也非常得當,Java語言畢竟類庫龐大,可以講的內容太多,這本書選擇的內容以及內容的多寡都很得當,可以讓你以最少的時間掌握Java最重要的知識,順便培養出來優秀的編程思路,真是一本不可多得的好書。

  雖然作者自己把這本書定位在入門級別,但我不確定這本書用來入門是不是稍微深了點,我自己也準備有空的時候翻翻這本書,學習學習。


二、Java編程進階類

  打下一個良好的Java基礎,還需要更多的實踐經驗積累,我想沒有什么捷徑。有兩本書值得你在編程生涯的這個階段閱讀,培養良好的編程習慣,提高你的代碼質量。

1、《重構 改善既有代碼的設計》

下載地址:http://www.shangxueba.com/share/p1838195.html?

  這本書名氣很大,不用多介紹,可以在閑暇的時候多翻翻,多和自己的實踐相互印證。這本書對產生影響是潛移默化的。

2、《測試驅動開發 by Example》

下載地址:http://www.shangxueba.com/share/p2564819.html


  本書最大特點是很薄,看起來沒有什么負擔。可以找一個周末的下午,一邊看,一邊照做,一個下午就把書看完,這本書的所有例子跑完了。這本書的作用是通過實戰讓你培養TDD的思路。

三、Java架構師之路

  到這個階段,應該已經非常嫻熟的運用Java編程,而且有了一個良好的編程思路和習慣了,但是可能還缺乏對應用軟件整體架構的把握,現在就是邁向架構師的第一步。

1、《Expert One-on-One J2EE Design and Development》

下載地址:http://www.shangxueba.com/share/p2564816.html?

  這本書是Rod Johnson的成名著作,非常經典,從這本書中的代碼誕生了springframework。但是好像這本書沒有中譯本。

2、《Expert One-on-One J2EE Development without EJB》

下載地址:http://www.shangxueba.com/share/p2564818.html?

  這本書由gigix組織翻譯,多位業界專家參與,雖然署名譯者是JavaEye,其實JavaEye出力不多,實在是忝居譯者之名。

  以上兩本書都是Rod Johnson的經典名著,Java架構師的必讀書籍。在所推薦的這些書籍當中,是看過的最仔細,最認真的書,當時讀這本書幾乎是廢寢忘食的一氣讀完的,有小時候挑燈夜讀金庸武俠小說的勁頭,書中所講內容和自己的經驗知識一一印證,又被無比精辟的總結出來,讀完這本書以后,有種被打通經脈,功力爆增的感覺。

  但是后來看過一些其他人的評價,似乎閱讀體驗并沒有那么high,也許是因為每個人的知識積累和經驗不同導致的。那個時候剛好是經驗知識積累已經足夠豐富,但是還沒有系統的整理成型,讓這本書一梳理,立刻形成完整的知識體系了。

3、《企業應用架構模式》

下載地址:http://www.shangxueba.com/share/p1838194.html?

  Martin
的又一本名著,但這本書只是泛泛的看了一遍,并沒有仔細看。這本書似乎更適合做框架的人去看,例如如果打算自己寫一個ORM的話,這本書是一定要看的。但是做應用的人,不看貌似也無所謂,但是如果有空,還是推薦認真看看,會讓知道框架為什么要這樣設計,這樣的層次可以晉升到框架設計者的角度去思考問題。Martin的書向來都是推崇,但是從來都沒有像Rod Johnson的書那樣非常認真去看。

4、《敏捷軟件開發原則、模式與實踐》

下載地址:http://www.shangxueba.com/share/p56689.html


  Uncle Bob的名著,敏捷的經典名著,這本書比較特別,與其說是講軟件開發過程的書,不如說講軟件架構的書,本書用了很大篇幅講各種面向對象軟件開發的各種模式,個人以為看了這本書,就不必看GoF的《設計模式》了。


四、軟件開發過程

  了解軟件開發過程不單純是提高程序員個人的良好編程習慣,也是增強團隊協作的基礎。

1、《UML精粹》

下載地址:http://www.shangxueba.com/share/p2564824.html?

  UML
其實和軟件開發過程沒有什么必然聯系,卻是軟件團隊協作溝通,撰寫軟件文檔需要的工具。但是UML真正實用的圖不多,看看這本書已經足夠了,完全沒有必要去啃《UML用戶指南》之類的東西。要提醒大家的是,這本書的中譯本翻譯的非常之爛,建議有條件的看英文原版。

2、《解析極限編程 擁抱變化》XP

下載地址:http://www.shangxueba.com/share/p2564834.html?

  這是Kent Beck名著的第二版,中英文對照。沒什么好說的,必讀書籍。

3、《統一軟件開發過程》UP

下載地址:http://www.shangxueba.com/share/p2564837.html

  其實UP和敏捷并不一定沖突,UP也非常強調迭代,測試,但是UP強調的文檔和過程驅動卻是敏捷所不取的。不管怎么說,UP值得去讀,畢竟在中國真正接受敏捷的企業很少,還是需要用UP來武裝一下自己的,哪怕是披著UP的XP。

4、《敏捷建模》AM

下載地址:http://www.shangxueba.com/share/p2564838.html?

  Scott Ambler
的名著,這本書非常的progmatic,告訴怎么既敏捷又UP,把敏捷和UP統一起來了,又提出了很多progmatic的建議和做法。可以把《解析極限編程擁抱變化》、《統一軟件開發過程》和《敏捷建模》這三本書放在一起讀,看XP和UP的不同點,再看AM是怎么統一XP和UP的,把這三種理論融為一爐,形成自己的理論體系,那么也可以去寫書了。


五、軟件項目管理

  如果突然被領導提拔為項目經理,而完全沒有項目管理經驗,肯定會心里沒底;如果覺得自己管理項目不善,很想改善項目管理能力,那么去考PMP肯定是遠水不解近渴的。

1、《快速軟件開發》

下載地址:http://www.shangxueba.com/share/p2564839.html?

  這也是一本名著。可以這樣說,有本書在手,就有了一個項目管理的高級參謀給你出謀劃策,再也不必擔心自己不能勝任的問題了。這本書不是講管理的理論的,在實際的項目管理中,講這些理論是不解決問題的,這本書有點類似于“軟件項目點子大全”之類的東西,列舉了種種軟件項目當中面臨的各種問題,以及應該如何解決問題的點子,只需要稍加變通,找方抓藥就行了。


六、總結

  在這份推薦閱讀書籍的名單中,沒有列舉流行的軟件框架類學習書籍,例如Struts,Hibernate,Spring之類,也沒有列舉AJAX方面的書籍。是因為這類書籍容易過時,而上述的大半書籍的生命周期都足夠長,值得去購買和收藏。

?

---轉載自http://www.shangxueba.com/faq/view376.html,謝謝其作者,以上下載地址還未驗證。

轉載于:https://www.cnblogs.com/heroyph/p/3497614.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/377381.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/377381.shtml
英文地址,請注明出處:http://en.pswp.cn/news/377381.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

office數據集dslr_DSLR的完整形式是什么?

office數據集dslrDSLR:數碼單鏡反光 (DSLR: Digital Single-Lens Reflex) DSLR is an abbreviation of digital single-lens reflex. It alludes to a digital camera which with the sensor of digital imaging merges optics and mechanism of single-lens reflex…

envs\TensorFlow2.0\lib\site-packages\tensorflow\python\framework\dtypes.py:516: FutureWarning 解決方案

import tensorflow后的完整報錯: D:\Anaconda3\envs\TensorFlow2.0\lib\site-packages\tensorflow\python\framework\dtypes.py:516: FutureWarning: Passing (type, 1) or ‘1type’ as a synonym of type is deprecated; in a future version of numpy, it will b…

轉義序列

轉義序列描述\n換行符\r回車\t水平制表符\\反斜杠\$美元符\"雙引號\[0-7]{1.3}八進制記法\x[0-9A-Fa-f]{1,2}十六進制記法轉載于:https://www.cnblogs.com/cindylu520/archive/2012/07/05/2577246.html

Java動態代理模擬spring的AOP

廣州瘋狂軟件學院擁有三大課程體系包括:java課程,android課程,ios課程,瘋狂軟件年終鉅惠,報名java就業班,免費贈送基礎班,名額有限,本月火熱報名中,歡迎有志之士電話或者…

xlrd.biffh.XLRDError: Excel xlsx file; not supported解決方法

將原本的xlrd卸載,安裝舊版本: pip uninstall xlrd pip install xlrd1.2.0轉自:https://www.cnblogs.com/xiaoqiangink/p/14144517.html

生產消費是什么設計模式_快速消費品的完整形式是什么?

生產消費是什么設計模式快消品:快速消費品 (FMCG: Fast-Moving Consumer Goods) FMCG is an abbreviation of Fast-Moving Consumer Goods which are also known as Consumer Packed Goods (CPG). These consumer packed goods allude to the products that are sol…

分類釋義概述

分類(classification) 是人工智能領域基本的研究領域之一,也是知識表示和獲取的主要途徑之一。一般認為,分類屬于科學發展的較初級階段,即形成理論之前的階段。 分類的釋義: 中文解釋:分類指的是將無規律的事物按照其性…

占位博客

占位博客 轉載于:https://www.cnblogs.com/CharmingDang/p/9663895.html

通過從全局和類內部重載operator new /delete來獲取內存管理權

目錄1、通過重載獲得內存管理權2、容器的內存管理3、重載new、array new、replacement new,接管內存控制權1、重載全局::operator new / ::operator delete以及array版本2、在類里面去重載1、通過重載獲得內存管理權 之前的幾章學習,是紅色的路線。此時…

sml完整形式_教資會的完整形式是什么?

sml完整形式教資會:大學教育資助委員會 (UGC: University Grants Commission) UGC is an abbreviation of the University Grants Commission. It is an organization established by the Indian Union government in agreement with the UGC Act 1956 under the Mi…

ASP.NET線程相關配置

1、ASP.NET 同一時刻只能發起的工作線程數量&#xff1a; (maxWorkerThreads * CPU邏輯數量&#xff09;-minFreeThreads 比如2個CPU默認配置maxWorkerThreads100&#xff0c;minFreeThreads176&#xff0c;則同時最大只能有24個工作線程。&#xff08;這里不管 <system.ne…

Android 編程下 AlarmManager

對應 AlarmManager 有一個 AlarmManagerServie 服務程序&#xff0c;該服務程序才是正真提供鬧鈴服務的&#xff0c;它主要維護應用程序注冊的各類鬧鈴并適時的設置即將觸發的鬧鈴給鬧鈴設備 ( 在系統中&#xff0c;Linux 實現的設備名為 ”/dev/alarm” ) &#xff0c;并且一直…

erp開發模式_ERP的完整形式是什么?

erp開發模式ERP&#xff1a;企業資源計劃 (ERP: Enterprise Resource Planning) ERP is an abbreviation of Enterprise Resource Planning. It is incorporated business management that is executed by a lot of numerous business houses to enhance their productivity an…

關于placement new 和 placement delete的重載,以及basic_string重載new()實例

關于placement new 在https://blog.csdn.net/qq_42604176/article/details/111997397中已經介紹了placement new的形式。 它的形式為new()/delete().我們將分配好內存的指針送入括號中&#xff0c;就完成了初步的調用了。 其實我們可以定義放任何的東西到()內部。只放一個指針…

cwc云萊特鏈_CWC的完整形式是什么?

cwc云萊特鏈CWC&#xff1a;工作條件的改變 (CWC: Change in Working Conditions) CWC is an abbreviation of "Change in Working Conditions". CWC是“工作條件更改”的縮寫 。 It is an expression, which is commonly used in the Gmail platform. In a particu…

在eclipse中創建web項目(非myeclipse)

在eclipse中創建web項目(非myeclipse) 在eclipse中如何創建dynamic web project項目 本文的演示是從本地文件創建dynamic web project&#xff0c;從svn檢出的同時創建dynamic web project于此類似。我們推薦使用解壓版的tomcat6.x版本&#xff0c;來作為服務器。可以到http://…

opengl glut 編譯

新建工程glut dll工程&#xff0c;本來想創建lib,工程的&#xff0c;但是想起來&#xff0c;gl是狀態機機制。dll方便資源共享等。 添加兩個include目錄 各種手機電腦平臺&#xff0c;網絡多媒體開發,mmsplayer&#xff0c;QQ514540005 然后將目錄下的lib/glut下面所有的.c文件…

劃分數據集代碼(按照4:1的比例)以及根據各自文件名寫入txt文件

會將圖片分到兩個文件夾中&#xff1a; #include <opencv2/opencv.hpp> #include "opencv2/features2d.hpp" #include <vector> #include <algorithm> #include <iostream> #include "windows.h" #include <stdio.h> #incl…

bpo是什么意思_BPO的完整形式是什么?

bpo是什么意思BPO&#xff1a;業務流程外包 (BPO: Business Process Outsourcing) BPO is an abbreviation of Business process outsourcing. It is a convention of a company to another company which is an external provider of services or business operations process…

在進行 ASP.NET 開發時,有時候需要對頁面輸出的最終 HTML 源代碼進行控制

在進行 ASP.NET 開發時&#xff0c;有時候需要對頁面輸出的最終 HTML 源代碼進行控制&#xff0c;是頁面的 render 方法中很容易實現這個功能。下面就是一個實現的方法&#xff0c;注釋都在代碼中。 [c-sharp] view plaincopy <% Page Language"C#" %> <% …