javaweb技術內幕
A. 一位大神的學習java心路歷程
最近有好多小夥伴向我咨詢:「如何學習JAVA?」,其實這個問題太寬泛了,好像每個人在一開始接觸java的時候都會請教這個問題。本人對這個問題有很深的體悟和感慨,一開始想要自學,結果不夠自律,後來選擇了一家培訓機構進行學習。今天,雲南IT培訓http://www.kmbdqn.cn/想要在這里分享我的心路歷程。
一.明確自己學習的原因
1.問問自己是抱著什麼目的要學習Java,沒有目標的學習是效率極低的,並且容易半途而廢;
2.了解Java可以做什麼,Java可以從事的崗位以及軟體行業的發展情況;
3.自己是否對Java方向感興趣;
二.學習Java基礎
1.學習准備
推薦看視頻入門,可以通過某寶以及某魚購買相關的視頻,別挑三揀四,選中一個視頻看完再說,對於初學者,無論選哪一個都是值得你學習的。
有人說編輯器等IDE環境不適合看視頻,浪費時間,但是初學者在學習第一個編程IDE時,推薦看視頻或者通過搜索引擎了解工具的使用,看書其實在剛開始可能更浪費時間;
看完基礎視頻對知識有個大概的了解,這時候看書就不會一頭霧水,此時可以通過看書來深入學習,之後的學習可以自己選擇看書還是看視頻,最好的方法是花時間既看視頻也看書;
學著學著忘掉前面的別總想著回頭記住,先往後學,有些基礎知識暫時用不上,當你學到應用的知識時自然會慢慢理解;
2.書籍推薦
入門書籍:《HeadFirstJava》、《Java核心技術》
進階書籍:《Java編程思想》
三.JavaWeb
1.學習路線
學習完Java基礎,接著適合學習JavaWeb,這個推薦看視頻,學習資料庫和JDBC基礎知識以及基本的前端知識,然後學習SSM框架,學習路線為:
Mysql->JDBC->HTML、CSS、JavaScript、JSP->Spring->SpringMVC->Mybatis->SSM整合->SSM項目實戰
2.書籍推薦
《深入分析javaweb技術內幕》
《架構探險-從零開始寫javaweb框架》
並發編程
《Java並發編程的藝術》
設計模式
《HeadFirst設計模式》
JVM
《深入理解Java虛擬機》
要想超越別人,不僅僅要掌握實戰技能,更重要的是基礎扎實
B. java編程有哪幾本書比較適合初學者
對於Java的初學者來說,如果找一本比較合適的入門教材的話,完整地介紹Java的 語法、面向對象和主要的API核心庫等知識,那將對學習起到相當的促進作用。 我個人認為,一些經典的國外教材確實值得推崇,首先推薦要看的是《21天學通Ja va 2》、《循序漸進Java 2教程》、《Java2從入門到精通》等書看起來比較淺顯易 懂,將Java的基本只是都涉及到了,使你在很短的時間內掌握Java的基本內容。 看完這這本書之一以後,你就想對Java全面深入的學習,現在向你推薦《Java大學 教程》、《Java 2編程指南》等書,這幾本書對Java的語法、面向對象的知識和AP I函數庫等介紹的比較詳盡。讓你能夠比較熟練的使用Java來編程,解決一般的問題 。 最後向大家推薦的是《Java2核心技術》,這本書主要講述了Java的核心技術也是J ava的難點之處,具有很高的參考價值,無論是Java的初學者還是Java編程老手,都 能從此書受益。 這時候大家可能會注意到,其中竟然沒有大名鼎鼎的《Thinking in Java》這本書 。其實,這本書主要是從編程思想上來講的,並沒有完整的講述Java的整個體系, 而是一種類似Tips的方法來對Java的知識點進行深入的分析和解釋,就好像C++的經 典教材《C++ Primier》一樣,並不適合作為初學語言的入門教材,蛋是在深入學習 Java的過程中的同時來讀這本書會覺得受益匪淺。 值得一提的是,其實最有實用價值的是JDK-Document(下文中簡稱doc, http://ja va.sun.com/j2se/1.5.0/download.jsp中有離線版下載的,本例中只是列舉了1.5的 doc,在相應的地方可以下載1.4甚至1.3的doc)和Java Tutorial在線教程( http:/ /java.sun.com/docs/books/tutorial/這個是在線查看的,離線版的下載本人目前 還不知道)。在doc中有四個部分API 文檔(對SDK自帶的標准Java API都進行了詳 細的介紹,它是按照package來組織的,詳細介紹了每一個class的繼承關系,介面 的實現情況,以及所有public的屬性和方法,對於每個方法的用途、調用的參數、 參數的類型,返回值的類型、以及方法可能拋出的異常等等)、guide(對一些Jav a技術和概念進行講述)、relnotes(這個介紹新版本的JDK的發布信息以及新特點 )、tooldocs(主要對Java的所有命令進行講述)。Doc是我們每一個Java工作者在 編程時必須的手冊,目前只有英文版,sun中國社區正在進行漢化,相信不久就會出 現中文版的doc了。Tutorial也相當的不錯,主要針對初學者,不過對於其他階段的 Java學習者也有很大的幫助了。 以上主要針對J2SE的學習進行講述的,Java主要有J2SE、J2EE、J2ME三個部分,J2 SE是基礎。當我們對J2SE的學習掌握的差不多的時候,其實我們就會對Java的學習 有自己獨特的體會,就會發現每一個Java技術自己所帶的doc都對我們的學習有很大 的幫助。此外,經常去一些著名的網站上去看看各位網友的作品,對Java學習的心 得,確實對我們有很大提高,這里推薦 http://blog.csdn.net 。經常去圖書館或者 到書店去看看有關Java的書,看看它們是不是自己所需要的,這時候,選擇學習Ja va的書籍就會自己拿主意了。 在上述的一些書籍的介紹中,並非每本書都要看,可根據自己的實際情況進行選擇 ,或者像Java先行者咨詢即可。
C. 深入分析java web技術內幕這本書怎麼樣
這本書的整體感覺不錯,基本上是從基本原理介紹出發的。適合互聯網技術愛好者閱讀,也可以作為技術架構參考書籍。本書不僅是介紹了基本知識和原理,很多東西作者是站在系統架構的原理出發的,所以對愛好系統架構的讀者是很有幫助的。
本書的主要特點是「圖文並茂,有圖,有事實,有真相」,閱讀起來不枯燥,晦澀。在試讀的第一章我數了一下一共就有19張圖片。本書同時也是深入實戰的一本參考書。本文有很多實戰內容,讀者可以去實戰。因而本書是一本理論與實踐緊密結合的書籍。
第一章的主題是:深入WEB請求過程
作者分別從以下幾個方面做了深入介紹:
1.1 B/S網路架構基本概念
這一小節介紹了B/S的基本架構概念,闡述了B/S的架構優勢,但是最後缺少一點
「畫龍點睛」之筆:B/S架構模式解決了application平台依賴性,使得應用基於瀏覽器,實現了應用的互聯互通互用。
1.2 如何發起一個請求
這一小節介紹了HTTP請求的技術基礎,socket通信。同時也「與時俱進」介紹了HttpClient的一個例子。這也是本書實戰性的體現。
同時也介紹了開發者可以使用的命令。
1.3 HTTP 協議解析
介紹了HTTP 協議解析的整個過程,介紹了HTTP 協議解析的基本數據結構,HTTP的主要狀態碼。相關HTTP工具。順便再在此推薦一個不錯的工具HttpWatch。
1.4 DNS 域名解析
DNS 域名解析是網路的基礎工作。只有域名解析成功才能獲得相關請求對應的應用。
本節介紹了域名解析的全過程,域名解析跟蹤,域名緩存清空,域名解析的常用方式。域名解析過程作者介紹的非常詳細,可謂是:「深入淺出」。
1.5 CDN 工作機制
CDN(Content Delivery Network),CDN是現在大數據時代互聯網應用的一重要組成部分。是一把利器。
在大數據時代,我們不可能將我們的所有資源都放到一台或幾台機器上,這時分布式計算,分布式存儲就成了一個關鍵和難點。CDN將一些靜態資源集中管理起來,減輕了主機負擔。在這里作者也談到了CDN對於應用的可擴展,安全性,可響應, 可靠性及性能的意義與作用。實際上CDN是RIA應用的技術架構基礎。本節也談到了「負載均衡」的主要方法及相關方法。
這里在排版上有點不足:在介紹硬體負載均衡之後可以附上相關圖片,本書把圖片放到了一起。但也無大礙。
D. java的經典書籍有哪些呀
一、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、《敏捷建模》AM
Scott Ambler的名著,這本書非常的progmatic,告訴你怎麼既敏捷又UP,把敏捷和UP統一起來了,又提出了很多progmatic的建議和做法。你可以把《解析極限編程 擁抱變化》、《統一軟體開發過程》和《敏捷建模》這三本書放在一起讀,看XP和UP的不同點,再看AM是怎麼統一XP和UP的,把這三種理論融為一爐,形成自己的理論體系,那麼你也可以去寫書了。
五、軟體項目管理
如果你突然被領導提拔為項目經理,而你完全沒有項目管理經驗,你肯定會心裡沒底;如果你覺得自己管理項目不善,很想改善你的項目管理能力,那麼去考PMP肯定是遠水不解近渴的。
1、《快速軟體開發》
這也是一本名著。可以這樣說,有本書在手,你就有了一個項目管理的高級參謀給你出謀劃策,再也不必擔心自己不能勝任的問題了。這本書不是講管理的理論的,在實際的項目管理中,講這些理論是不解決問題的,這本書有點類似於「軟體項目點子大全」之類的東西,列舉了種種軟體項目當中面臨的各種問題,以及應該如何解決問題的點子,你只需要稍加變通,找方抓葯就行了。
六、總結
在這份推薦閱讀書籍的名單中,我沒有列舉流行的軟體框架類學習書籍,例如Struts,Hibernate,Spring之類,也沒有列舉AJAX方面的書籍。是因為這類書籍容易過時,而上述的大半書籍的生命周期都足夠長,值得你去購買和收藏。
希望對您有所幫助!~