mybatis架構(gòu)圖 誰給推薦幾本java進階的書籍?
誰給推薦幾本java進階的書籍?《Java編程思想》這本書更適合的新過一兩個項目,對java巳經(jīng)有肯定會的所了解的人。這本書必須不是java的入門書,確實這本書詳細介紹了一部分語法,但大量內(nèi)容是jav
誰給推薦幾本java進階的書籍?
《Java編程思想》
這本書更適合的新過一兩個項目,對java巳經(jīng)有肯定會的所了解的人。
這本書必須不是java的入門書,確實這本書詳細介紹了一部分語法,但大量內(nèi)容是java特性的講解,里面的用例水平相當高,這對面向?qū)ο笾v解,接口,內(nèi)部類,容器,多線程,I/O的講解很淋漓透徹同時又很深刻之,他會給你說,在什么情況下你應(yīng)該作何選擇。包括各種你選的利弊。這本書不合適后半截見到尾,更適合在疑惑不解的時候,帶了疑問去翻,讓你的求知欲帶了你去看小說,而不是給自己定一個Java編程思想的讀書計劃。
《深入剖析Tomcat》
試讀人群:做過兩三個項目,對面向?qū)ο笤O(shè)計有一定會了解,設(shè)計模式似信非信,想好好地看一下什么是面向接口編程,對serlet的程序加載,映到,及整個http跪請?zhí)幚砹鞒毯苡信d趣,沒法能容忍自己的知識體系存在黑箱的人。其實Java后臺開發(fā)不僅僅是CRUD的人。
Tomcat大家都很認識了,論我們做的課程設(shè)計的小項目,應(yīng)該淘寶天貓等早上PV訪問量過億的小型網(wǎng)站都在用,你還敢瞧得起它嗎?應(yīng)該其實剛?cè)腴T的技術(shù)不值一提嗎?
你可能會直接更換數(shù)據(jù)庫框架,mvc框架,容器,可是一般很少有人更換Tomcat。為什么不,是因為她是三個杰出的設(shè)計(幫你做了很多,但在可定制性方面還不如Jetty)。
這本書從一個簡單socketB/S程序入門學習,作者后半截匯編語言連接器,處理器,跪請(request),全面處理(response)又開始解釋tomcat的設(shè)計理念,中間講Tomcat4及5的源碼,解說tomcat核心的設(shè)計Container四大容器,然后解說tomcat安全,權(quán)限,包括配置文件的讀取,java對象的管理,訂制性Tomcat項目管理的后臺(那就是你ftp訪問tomcat路徑的根路徑剛剛進入的管理網(wǎng)站)。這本書適合我于,沉心靜氣,沒有項目,是沒有太太多事的情況下,編號實際的源碼,一行行的讀,明白處理流程,知道一點什么時候是優(yōu)秀的代碼?擴展性,健壯性
《深入理解Java虛擬機》
需要適度人群:想自學并發(fā)編程,反射,想所了解JVM系統(tǒng)優(yōu)化。閑著無聊的很,沒項目的人
必須這本書書很有可能有些枯燥乏味,沒有什么用,是真的,是對你現(xiàn)在的不好算項目沒有然后用處,只不過,你要想在java方面研究得恨意,不可避免地,你是需要對jvm船舶概論優(yōu)化系統(tǒng),java的內(nèi)存模型,java類的加載機制,字節(jié)碼文件不知道是什么,以及并發(fā)編程,Java性能優(yōu)化等方面有不了解。,你是需要好好的讀這本書,很可能比較枯燥,好像有點難,但是他值得你去愛你認真用心讀。
《設(shè)計模式-可復用軟件的設(shè)計》GoF(《設(shè)計模式的藝術(shù)之道》劉偉)
適讀人群:有過三四大小個項目經(jīng)驗,想所了解什么是軟件,什么是程序,什么是面向?qū)ο?,只有一讀了這本書,你才明白了之外算法,性能,之外,我們又要追求的事業(yè)是擴展性,究其原因是:軟件行業(yè)的梗,需求變更,很有可能項目初期的需求和項目開發(fā)后期的需求有天壤之便,但怎么在設(shè)計階段就為需求的變動去做準備,如果說對變化的部分傾瀉出來抽象概念,分層,分工,可是增加了奇怪度,但是后期我們是可以隨意一點,如果前期不設(shè)計好,是真的一個項目這個可以在需求變化面前,徹底再玩。根本就不可能無法不再開發(fā)。如果沒有你應(yīng)該還沒所接觸到需求變更,只能說你的客戶不太非常重視他的項目,或是客戶本身是程序員自己。一個main函數(shù)一個人后半截不寫尾的確不是軟件。
作者從創(chuàng)建型,供需結(jié)構(gòu),行為型三個方面具體點推薦了23種設(shè)計模式,字字珠璣,耐心的看,再耐心的明白,把這本書和Java編程思想放進在一起,應(yīng)該沒事就去翻翻,興許哪幾天你在寫程序,發(fā)現(xiàn)到,如果沒有我這樣設(shè)計,后面的開發(fā)我是可以相當快的的。那時,你一定得十分感謝作者歸納了這些設(shè)計模式??赡軙礼OF的書距今已有不叫遠得,設(shè)計案例比較老舊,所以是可以同樣的看《設(shè)計模式的藝術(shù)之道 》這本書同樣的比較好,例子可能會更不容易表述一些。
軟件行業(yè)的圣經(jīng)之作,如果你做技術(shù),你應(yīng)該要近來去翻翻。
《JavaScript編程全解》(JavaScript低級程序設(shè)計)
適讀人群:要會基本是的javascriptdom編程,jquery,做過兩三個項目,不過沒有系統(tǒng)的學習javascript,老是在為一些語法,的或莫明奇妙的錯誤煩惱的人,這本書的確合適你,應(yīng)為他是寫給她java程序員的Javasript書籍。
Java程序員五階,我想知道為什么要談JavaScript,我個人不喜歡JavaScript,應(yīng)該要我找了好一會兒錯,很可能應(yīng)該是只不過一個簡單點語法問題,有那是不能不能操作控件,我一直希望前端人員是可以幫我做這些事,當時發(fā)現(xiàn)這簡直不可能,JavaScript還得自己寫,很有可能以后工作啊之后,更得自己寫,因此我想系統(tǒng)學習下script,后來這本書是真的沒有讓我吃驚,這本書后面中級部分還沒已經(jīng)來不及看,只不過并不在講訴JavaScript的語法特性,就有一種如沐春風的感覺,良心之作。
有事沒事的是可以看下。當然了那本書書根本不會偏重于dom編程,可能我們做的一些是dom編程,所以我還推薦一下你這個可以看看JavaScript高級程序設(shè)計。我看我們前端美女帥哥都在看這書,肯定還確實不錯,那就是有些厚,不過那就證明講的祥細,是可以做工具書。
《深入分析javaweb技術(shù)內(nèi)幕》
適讀人群:做過三四個項目,我看過上面的深入剖析Tomcat,踏入解釋Java虛擬機,設(shè)計模式,建議使用過Spring,mybatis的讀者。
這本書的水平真是不是很高,說實話,看這本書的時候,我?guī)缀跆氏铝搜蹨I,我能感覺到作者真的是認真用心在寫書,并非目的是出版書賺版權(quán)費,不是就是為了裝X,反而真的是希望自己當年受過的累,別人能少吃一點,別人也可以學的更輕松。尤其是作者的細致很認真,用工匠精神來說,一點不為過,而再再加當時看Tomcat源碼時的感想,也可以總結(jié)一句話,另一個杰出的的程序員在每一個細節(jié)都精益求精的。在他們的知識體系里,永遠不會肯定不能容忍一個小漏洞必然,在細節(jié)處拿定主意,踏踏實實做事的寫好每一行代碼。把每一個有疑問的點都在合適的時機解決的辦法掉。作者在細節(jié)上擊潰了我。
同樣的不只在細節(jié)上,作者祥細講敘了Javaweb中的技術(shù)方向,多得數(shù)也數(shù)不清,不過每一章你都覺得不了作者的疏漏與將近。博廣精專,這是本書的作者真心我們學習的
本文目錄大概包括JavaI/o,字節(jié)碼,編譯,jvm,tomcat,spring,ibatis,等等。
《重構(gòu)改善既有代碼的設(shè)計》
適讀人群:奮力掙扎于需求劇烈地需要變更,程序維護你升級的孩子們。
這本書與設(shè)計模式并曾經(jīng)的軟件行業(yè)的兩本圣經(jīng),只不過我不這么說認為,不過不用質(zhì)疑,當你寫完這本書,之后,你會更查哈你寫的代碼的的結(jié)構(gòu),這兩本書大都讓我們可以不寫出可以維護,可擴展,健壯性強的代碼,這本書就是教你該如何直接修改代碼,該如何如何修改都能夠引導出更少的錯誤,另外更加很難魔獸維護。作者講敘很多的技巧,實用性極強,可是如果沒有你寫的項目變動也不是不大,的或沒有一些修改代碼的苦痛的經(jīng)歷,很可能切身體會不可能很深,這是一本獨立性比較比較強的書,看一看是的確愿意的。
《操作系統(tǒng)設(shè)計 xinu方法》
適讀人群:自學完操作系統(tǒng)課程,想更深入了解下操作系統(tǒng)內(nèi)部的細節(jié),要如何實現(xiàn)線程調(diào)度,內(nèi)核態(tài)用戶態(tài)能量轉(zhuǎn)化究竟有沒有是什么,消息非循環(huán),進程管理,等等,你都也可以看。
這是一本用C語言寫的書,但是這位Java程序員,好歹得會C語言,看了這本書有什么好處呢,說實話,對Java的面向?qū)ο箝_發(fā)沒有什么幫助,他的幫助不僅僅是本質(zhì)你對操作系統(tǒng)的了解十分哲理,當你自己去看JVM的時候,可能會輕松一點點,同樣他也在告訴你,反正操作系統(tǒng)完全沒有那就不可攀,你就這個可以從源代碼級別看得懂操作系統(tǒng)。另外可能會,我覺著當你編寫程序到一定級別后,走上架構(gòu)師之路,操作系統(tǒng)的確是知識體系中必不可免的一個重要環(huán)節(jié)。現(xiàn)在可以不打個基礎(chǔ)。這本書適合于操作系統(tǒng)課程上完一大半之后在讀。
一些都并不難,確實!
《超越傳統(tǒng)的軟件開發(fā)-極限編程的幻想和真實》(《解析極限編程-擁抱變化》《人月神話》)
這三本書是電子信息工程方向的書籍,查哈于要如何整個結(jié)構(gòu)高效穩(wěn)定開發(fā)流程。在這方面我明白比較少,我會找別人你再來給大家完備這方面的知識,只不過這三本書絕對都不是很難,有過項目領(lǐng)導經(jīng)驗的人來看,收獲是有會一些,其他人隨便看看,你會好東西很多,例如,測試出來先行,結(jié)成對子編程,旋轉(zhuǎn)切割開發(fā),循環(huán)迭代,不斷優(yōu)化的理念。等等
《Java程序性能優(yōu)化》
適讀人群:做項目三四個以上,知道一點java內(nèi)存模型,包括大致了解手中掌握多線程編程,再有那就是速度狂們。
這本書從一些編程技巧,性能優(yōu)化的理念,以及多線程并發(fā)編程的一些設(shè)計模式從哪里入手,回答了如何能找不到項目性能的瓶頸,怎么修為提升系統(tǒng)吞吐量,從細粒度,編程角度去思考這些問題,(而也不是分布式處理),是真的尤其是后面的多線程部分,如沐春風,掀起了我對并發(fā)編程的興趣。
《Java并發(fā)編程》(《java多線程編程的藝術(shù)》)
適讀人群:想深入學習并發(fā)編程,對jvm內(nèi)存模型有了解(深入解釋jvm虛擬機內(nèi)本書很最重要)速度狂,對java也有了還好的感覺,感覺上可以代碼水平需要大有長進的人
Java并發(fā)編程是Java并工程發(fā)包的作者寫的,如雷貫耳,很有名的,學習并發(fā)編程的圣經(jīng)之作,但不太更適合入了門,入門要看看后面的java多線程編程的藝術(shù),一行行的代碼,一個個的小技巧,慢慢來嘛,并發(fā)編程肯定是是否是高級程序員的一個評判標準。
Java并發(fā)編程,你估計時常再看一遍。
《深入分析Spring 技術(shù)內(nèi)幕》
適讀人群:比較熟悉專精設(shè)計模式,對走向接口,對象編程而且有感覺的人。時間充裕
這本書,讓我為之顫抖,震顫的原因又不是而且這本書講解實在是太精巧細致,比較清晰,反而Spring的開發(fā)團隊為什么不把Spring搞得這么緊張,遇到一個個的UML圖,我真的是很拙計,表示看不太懂,肯定是我本人都很笨。不過要想能讀懂這本書,還真必須長時間的閱讀,思考。只不過
很顯然那句話,當你覺得生活艱難地的時候,可能你在拔一個大蘿卜,當你是真的淋漓透徹了Spring,你就前途不可限量了。國內(nèi),應(yīng)該是就沒比這本書更系統(tǒng)從源代碼級別重點講解Spring的了。
《EJB3.0 入門經(jīng)典》
適讀人群:閑著沒事的人.
這本書放進最后,并非因為他重要的是,只不過是只不過這本書沒什么要緊,為什么呢,而且現(xiàn)在的開發(fā),也可以不可以參照EJB,只不過你所了解他之后,你就明白了什么是分布式程序,什么是程序的分布式部署。同時你會知道除了Spring容器有一種容器叫暗EJB,完全是肯定J2ee的嫡長子,會很清楚,為什么在j2ee領(lǐng)域讓野孩子Spring搶了風光。當你學會綜合比學兩個框架的時候,很有可能你真的是一個大神了。Spring和EJB那就是是可以差別不大的。SpringMVC和Struts,
Hibernate和mybatis,等等,僅有要會差別不大,才會看得越來越開闊.但簡單的方法應(yīng)該要腳踏實地
《架構(gòu)探險,從零開始Javaweb框架》
適讀人群:想寫框架,對反射,對子集也很熟悉的人;
你可以不把這本書,當成自己設(shè)計框架的入門書,可以看見一個框架的匯編語言是如此地的簡單點,你應(yīng)該是也學會參加開源項目,這本書不難,不過需要用心去讀。需要邊吃邊看邊敲代碼。什么是Aop,事務(wù)處理,mvc框架,等等等等,作者的編碼水平高,實在太高,另外解說的也很淋漓透徹
《j2ee核心模式》
適讀人群:閑著無聊,想開發(fā)框架的大神
這是Sun公司出版社的一本書,這對J2ee的開發(fā)的很有指導性,里面學習總結(jié)了一些非常實用經(jīng)過實踐檢驗的設(shè)計思想,設(shè)計技巧,有很多你應(yīng)用了你沒辦法再注意到,例如,一個不好的實踐是控制層有太的邏輯代碼,狀況下,視圖層需求的變動非常容易引響到壓制層,而你如果不是憑借好”傳輸對象“這個設(shè)計技巧,就這個可以把需求變化完全控制在業(yè)務(wù)處理層和視圖層,
(傳輸對象事實上其名,僅是一個容器,里面載入鏡像了大家需要的各種數(shù)據(jù))
有很多你不使用的框架應(yīng)用了,你也還沒有盡量到,或者前端控制器模式
我在做開發(fā)的時候就未曾表述我想知道為什么沒有辦法定義法一個接口,聽說后來的實踐說說我
顯然這種模式,才能讓我們的控制層與Servlet解耦,我們可以借助這個前端控制器攔截各位,
將請求點贊和評論到我們的控制器中,甚至你有興趣是可以自己封裝request,response,等,要知道
SpringMVC框架是依靠了前端控制器DispathcerServlet將請求映射出到controller中。
這本書后面還會能介紹jsp中的一些極優(yōu)秀實踐,EJB的實踐,EJB這部分這個可以看下數(shù)據(jù)處理部分。
可是可能還沒有做過EJB項目的讀者,應(yīng)該不會收獲太。
《高性能MySQL》(Mysql技術(shù)內(nèi)幕-Innodb引擎)
需要適度人群:非常熟練可以使用Sql,有就像數(shù)據(jù)庫設(shè)計經(jīng)驗,對索引,mysql原理,及具體方法優(yōu)化方法很有興趣,包括吾輩于曾經(jīng)的DBA的同學。
談java肯定離得開數(shù)據(jù)庫的,開發(fā)中會遇到了很多數(shù)據(jù)庫去相關(guān)問題,尤其是索引部分,這本書可以介紹的很是深遠,從數(shù)據(jù)類型,索引原理,組織索引設(shè)計什么的陷阱,具體方法優(yōu)化方法,等方面來談,大都也可以然后應(yīng)用到實際中工作中的經(jīng)驗。相對于后面偏架構(gòu)運維章節(jié),可依據(jù)什么個人興趣工作需要而定。
第二本書偏原理,能直接應(yīng)用到于工作的一般很少,不過再讀之后,還是讓人覺得思維換然一新,肯定能感受到一下mysql的設(shè)計,對于自己以后設(shè)計的的功能(事務(wù)實現(xiàn)程序,緩沖池基于,todo,undo..,鎖.等)會有很大借鑒模仿意義。
大一點的公司是用hibernate多還是用mybatis多一些?。?/h2>
這個就不需要具體看看公司應(yīng)用場景:
hibernate:
是一個標準的ORM框架(對象關(guān)系映射)。入門門檻較高,不需要程序?qū)憇ql語句,sql語句自動出現(xiàn)生產(chǎn)了。對sql的優(yōu)化比較比較很難。
應(yīng)用場景:適用與需求變化不多的大中小型項目中,諸如后臺管理,erp,orm,oamybatis:
專注于sql本身,要程序員自己編譯程序sql語句,sql修改,優(yōu)化比較方便啊,mybatis是一個不全部的ORM框架,雖然程序員自己寫sql,mybatis也也可以實現(xiàn)映射(輸入輸入反照,輸出映射)。試用場景:可以參照于需求變化較多的項目,比如說:互聯(lián)網(wǎng)項目。