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