mysql數(shù)據(jù)庫查詢進階多表連接查詢 請問java如何學習?
請問java如何學習?講爛的問題了,為啥這么講了呢?不論去學習什么,是需要都會有人問這個東西該怎摸學?怎摸自學效率高?有什么好的方法?也都能能找到各種真是五花八門的回答,但無外乎大都先好基礎(chǔ),加強實踐
請問java如何學習?
講爛的問題了,為啥這么講了呢?不論去學習什么,是需要都會有人問這個東西該怎摸學?怎摸自學效率高?有什么好的方法?也都能能找到各種真是五花八門的回答,但無外乎大都先好基礎(chǔ),加強實踐,之后后慢慢的十階。不過也不是這樣的,學習沒有捷徑,僅有一步一步腳踏實地,慢慢積累知識,下的功夫充足了,自然是會了。
但呢,各個行業(yè)的學習方法上是有一些差異的,就it行業(yè)來說,學的東西基本都大都單獨應用形式的,所以才多搶先出手是不可少的,無論打基礎(chǔ),那就后面的三階學,多敲多去思考是貫徹始終的,遇到了一點不懂的依然想不透的,最好不要管,朝后看就對了,不要鉆牛角尖,這些問題往往是而你的知識面相對狹窄了造成的,所以看到后面,前面的也就領(lǐng)悟了。當然,腳踏實際,慢慢來嘛,持之以恒,兩個月se基礎(chǔ)語法,面向?qū)ο笳Z言基本特性都也能能夠掌握的差不多。
伴隨著你學習的深入,你會感覺上自己什么都會了,絕對無敵的感覺,恭喜你,還未走入門檻,但還也沒入門學習,我把這個階段稱為“門外漢階段”,這個階段,你的見識太少,總覺得自己什么都會,其實只不過個井底之蛙。
一下子你是會過得這個階段,忽然會有一天,你感覺上自己什么都不會了,你很茫然,覺的路很長,走不到盡頭,這個時候你才全是真正的入門了,達到第一層。
再往后,然后你會發(fā)現(xiàn),入了門之后,學出聲變的隨意不少,并非自己的代碼也能讀明白了,學習起來日中天,這是也你技術(shù)轉(zhuǎn)弱提高的時候,也就經(jīng)過了第二層。
再向前,你的技術(shù)越來越大高,你發(fā)現(xiàn)到自己懂的卻越來越大“少”了,這時候你的視野比之前高了好幾個層次,視野非常大了,注意到的東西很多,覺著自己知道怎么樣太少,這很快就到了第三層。
于是,你不時地學,斷的地補短板,清楚的越來越多,你又發(fā)現(xiàn)到,自己好像又什么都絕對不會了,就到了第四層。
會有一天,你突然發(fā)現(xiàn)第一層到第四層是個停止循環(huán)的過程,你在一瞬間明白了總之it行業(yè)這樣,技術(shù)更新迭代的很快,今天你是行業(yè)大佬,明天你肯定就成了“門外漢”,只有一盡量不斷學習,才肯定不會被行業(yè)淘汰,這應該是第五層。
誰給推薦幾本java進階的書籍?
《Java編程思想》
這本書合適變更土地性質(zhì)過一兩個項目,對java也有一定的清楚的人。
這本書首先不是java的入門書,確實這本書可以介紹了一部分語法,但是一些內(nèi)容是java特性的解釋,里面的用例水平太高,是對面向?qū)ο笾v解,接口,內(nèi)部類,容器,多線程,I/O的講解很更透徹同樣的又很深沉,他會給你說,在什么情況下你應該是作何選擇。這些各種你選擇的利弊。這本書不更適合再捋看見了尾,適合我在疑惑不解的時候,帶著興奮疑問去翻,讓你的求知欲帶了你去不看書,而不是給自己定一個Java編程思想的讀書計劃。
《深入剖析Tomcat》
精彩章節(jié)人群:做過兩三個項目,對面向?qū)ο笤O(shè)計有肯定會了解,設(shè)計模式似懂,想好好看看吧什么是面向接口編程,對serlet的程序加載,映射出,及整個http跪請?zhí)幚砹鞒膛d趣,沒法不能容忍自己的知識體系必然黑箱的人。以為Java后臺開發(fā)僅僅是CRUD的人。
Tomcat大家都很認識了,不論我們做的課程設(shè)計的小項目,還是淘寶天貓等早上PV訪問量過億的大型網(wǎng)站都在用,你還敢瞧得起它嗎?應該其實初學者的技術(shù)不值一提嗎?
你可能換新數(shù)據(jù)庫框架,mvc框架,容器,不過很少很少有人換掉Tomcat。為什么不,是因為她是一個杰出的設(shè)計(幫你做了很多,但在可定做性方面不如你Jetty)。
這本書從一個很簡單socketB/S程序入了門,作者再捋c語言設(shè)計連接器,處理器,跪請(request),去處理(response)開始解說tomcat的設(shè)計理念,中間講Tomcat4及5的源碼,回答tomcat核心的設(shè)計Container四大容器,然后把講解時tomcat安全,權(quán)限,以及配置文件的讀取,java對象的管理,定制性Tomcat項目管理的后臺(那就是你ftp連接tomcat路徑的根路徑剛剛進入的管理網(wǎng)站)。這本書合適于,心無旁鶩,沒有項目,是沒有太這些事的情況下,編號求實際的源碼,一行行的讀,明白了處理流程,知道一點什么時候是杰出的代碼?擴展性,健壯性
《深入理解Java虛擬機》
適度地人群:想學并發(fā)編程,反射,想知道一點JVM優(yōu)化軟件??臻e無聊,沒項目的人
是需要這本書可能好像有點枯燥乏味,沒有什么用,真,這對你現(xiàn)在的不好算項目沒有直接用處,但,你要想在java方面研究得加深,必不可免,你不需要對jvm教材習題解答系統(tǒng)優(yōu)化,java的內(nèi)存模型,java類的讀取機制,字節(jié)碼文件不知道是什么,和并發(fā)編程,Java性能優(yōu)化等方面有所了解。,你要好好的讀這本書,很可能比較枯燥,有點兒難,只不過他真心你只要用心讀。
《設(shè)計模式-可復用軟件的設(shè)計》GoF(《設(shè)計模式的藝術(shù)之道》劉偉)
適讀人群:有過三四大小個項目經(jīng)驗,想清楚什么是軟件,什么是程序,什么是面向?qū)ο螅ㄓ凶x了這本書,你才很清楚以外算法,性能,之外,我們的要奮斗一生是擴展性,究其原因是:軟件行業(yè)的梗,需求變更,很可能項目初期的需求和項目開發(fā)后期的需求有天壤之便,但該如何在設(shè)計階段就為需求的變動去做準備,就是對變化的部分擴散出來抽象概念,分層,分工,雖然能提高了奇怪度,只不過后期我們是可以隨意一點兒,如果不是前期不設(shè)計什么好,確實一個項目可以在需求變化面前,再次不好玩。根本不沒能再變更土地性質(zhì)。要是你應該還沒接近到需求變更,只能說你的客戶不太看重他的項目,或者客戶本身就是程序員自己。一個main函數(shù)一個人后半截寫完尾肯定不是軟件。
作者從創(chuàng)建型,結(jié)構(gòu)性因素,行為型三個方面詳細點介紹了23種設(shè)計模式,字字珠璣,好耐心的看,耐心的解釋,把這本書和Java編程思想裝在一同,沒什么大事就去翻翻,沒準兒哪幾天你在寫程序,發(fā)現(xiàn)到,如果我這么說設(shè)計,后面的開發(fā)我這個可以太隨意的。那時,你一定得感謝作者系統(tǒng)的總結(jié)了這些設(shè)計模式??赡軙礼OF的書8000多年不叫遙遠,設(shè)計案例比較好老舊,所以是可以另外看《設(shè)計模式的藝術(shù)之道 》這本書同時比較不錯,例子很可能更很難理解一些。
軟件行業(yè)的圣經(jīng)之作,如果能你做技術(shù),你肯定也曾去翻翻。
《JavaScript編程全解》(JavaScript高級程序設(shè)計)
適讀人群:學會什么都差不多的javascriptdom編程,jquery,做過兩三個項目,只不過沒有系統(tǒng)的學習javascript,總是會在為一些語法,或者莫明奇妙的錯誤煩心的事情的人,這本書可以說適合我你,應為他是寫給自己java程序員的Javasript書籍。
Java程序員晉階,我想知道為什么要談JavaScript,我個人不很喜歡JavaScript,肯定我找了好一會兒錯,可能會是因為一個簡單點標點錯誤,有是沒法不能操作控件,我一直我希望前端人員也可以幫我做這些事,當時才發(fā)現(xiàn)這甚至不可能,JavaScript還得自己寫,可能以后工作好之后,更得自己寫,因為我想系統(tǒng)自學下script,聽說后來這本書書是真的沒有讓我欣喜,這本書后面有高級部分應該還沒來得及看,不過單單在繼續(xù)講述JavaScript的語法特性,就有一種如沐春風的感覺,良心之作。
有事沒事的這個可以看看吧。當然了這本書書并沒有側(cè)重于于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ù)方向,多得成百上千,不過每一章你都感覺過了作者的疏漏與不繼。博廣精專,這是本書的作者愿意我們?nèi)W習的
本文目錄至少以及JavaI/o,字節(jié)碼,編譯,jvm,tomcat,spring,ibatis,等等。
《重構(gòu)改善既有代碼的設(shè)計》
適讀人群:死命掙扎于需求劇烈震顫進行變更,維護怎么升級的孩子們。
這本書與設(shè)計模式并下一界軟件行業(yè)的兩本圣經(jīng),雖然我不這么如果說,不過不用質(zhì)疑,當你沒看這本書,之后,你會更關(guān)注你寫的代碼的的結(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é)?,F(xiàn)在可以打個基礎(chǔ)。這本書比較適合于操作系統(tǒng)課程上完一大半之后在讀。
一點都并不難,是真的!
《超越傳統(tǒng)的軟件開發(fā)-極限編程的幻想和真實》(《解析極限編程-擁抱變化》《人月神話》)
這三本書是計算機科學與技術(shù)方向的書籍,了解于要如何構(gòu)造又高效開發(fā)流程。在這方面我知道怎么樣大多,我會找別人你再來給大家完善系統(tǒng)這方面的知識,但是這三本書當然都不難,有過項目領(lǐng)導經(jīng)驗的人來看,收獲一定會會許多,其他人隨便看看,你會好東西很多,或者,測試先行,幫扶結(jié)對編程,光波開發(fā),循環(huán)迭代,不斷優(yōu)化的理念。等等
《Java程序性能優(yōu)化》
適讀人群:做項目三四個以上,清楚java內(nèi)存模型,在內(nèi)大致了解掌握多線程編程,再有應該是速度狂們。
這本書從一些編程技巧,性能優(yōu)化的理念,以及多線程并發(fā)編程的一些設(shè)計模式從哪里開始,講解時了該如何能找到項目性能的瓶頸,如何修為提升系統(tǒng)吞吐量,從細粒度,編程角度去思考這些問題,(而不是什么分布式處理),真的尤其是后面的多線程部分,如沐春風,掀起了我對并發(fā)編程的興趣。
《Java并發(fā)編程》(《java多線程編程的藝術(shù)》)
適讀人群:想深入學習并發(fā)編程,對jvm內(nèi)存模型有了解(踏入理解jvm虛擬機內(nèi)本書很有用)速度狂,對java已經(jīng)有了確實不錯的感覺,總覺得也可以代碼水平是需要一躍千里的人
Java并發(fā)編程是Java并轉(zhuǎn)包的作者寫的,大名鼎鼎,很有名的,學習并發(fā)編程的圣經(jīng)之作,不過不太合適剛?cè)腴T,入門不需要看看吧后面的java多線程編程的藝術(shù),一行行的代碼,一個個的小技巧,慢慢來吧,并發(fā)編程肯定是是否是是高級程序員的一個評判標準。
Java并發(fā)編程,你應該時常去翻翻。
《深入分析Spring 技術(shù)內(nèi)幕》
適讀人群:熟得不能再熟專精設(shè)計模式,對再朝接口,對象編程最重要的有感覺的人。時間充裕
這本書,讓我為之劇烈震顫,震顫的原因又不是因為這本書講解多么精巧細致,比較清晰,只是Spring的開發(fā)團隊為什么把Spring搞得這樣復雜,對于一個個的UML圖,我真的是很拙計,它表示看不明白,可能會是我本人都很笨??墒且肽茏x懂這本書,還真不需要長時間的閱讀,思考。但是
如果說那句話,當你感覺生活吃力的時候,可能會你在拔一個大蘿卜,當你真有淋漓透徹了Spring,你就不可限量了。國內(nèi),應該要就沒比這本書更系統(tǒng)從源代碼級別詳細講解Spring的了。
《EJB3.0 入門經(jīng)典》
適讀人群:閑著無聊的人.
這本書放進最后,不是什么畢竟他重要的是,只是而且這本書根本就不在意,為么呢,只不過現(xiàn)在的開發(fā),是可以不范圍問題EJB,不過你了解他之后,你就很清楚了什么是分布式程序,什么是程序的分布式部署。同樣的你可能會知道除此之外Spring容器另外一種容器叫做什么EJB,而是我還是J2ee的嫡長子,可能會很清楚,為什么不在j2ee領(lǐng)域讓野孩子Spring搶了風光。當你學會差不多學兩個框架的時候,可能你真的是一個大神了。Spring和EJB那是可以差別不大的。SpringMVC和Struts,
Hibernate和mybatis,等等,唯有能學會差別不大,才有可能看得越來越寬廣.但是需要應該要踏踏實實
《架構(gòu)探險,從零開始Javaweb框架》
適讀人群:想寫框架,對反射,對子集比較比較熟悉的人;
你這個可以把這本書,拿出來自己設(shè)計框架的入門書,看的到一個框架的編寫是多么的簡單的,你肯定也能學會參與開源項目,這本書不太難,可是必須真心去讀。需要坐著看邊敲代碼。什么是Aop,事務(wù)處理,mvc框架,等等等等,作者的編碼水平高,真是太高,同樣講解時的也很洞徹
《j2ee核心模式》
適讀人群:閑的沒事,想開發(fā)框架的大神
這是Sun公司出版社的一本書,對于J2ee的開發(fā)的很有指導性,里面歸納了一些非常實用經(jīng)過實踐檢驗的設(shè)計思想,設(shè)計技巧,有很多你運用了但你沒有注意到,例如,一個不好的實踐是操縱層有太大的邏輯代碼,狀況下,視圖層需求的變動容易影響到控制層,而你假如用來好”傳輸對象“這個設(shè)計技巧,就可以把需求變化完全控制在業(yè)務(wù)處理層和視圖層,
(傳輸對象事實上其名,僅僅是一個容器,里面載入游戲了大家必須的各種數(shù)據(jù))
有很多你建議使用的框架應用了,你也沒有注意一點到,例如前端控制器模式
我在做開發(fā)的時候就從未表述為啥沒有辦法定義,定義一個接口,再后來的實踐告訴我
恰好這種模式,才能讓我們的控制層與Servlet解耦,我們可以借助這個前端控制器封鎖請求,
將幫忙微博轉(zhuǎn)發(fā)到我們的控制器中,哪怕你有興趣這個可以自己裸芯片request,response,等,要知道
SpringMVC框架那就是用來了前端控制器DispathcerServlet將只是請求反照到controller中。
這本書后面還會可以介紹jsp中的一些最優(yōu)秀實踐,EJB的實踐,EJB這部分是可以看看數(shù)據(jù)處理部分。
只不過可能會沒有做過EJB項目的讀者,不會收獲太。
《高性能MySQL》(Mysql技術(shù)內(nèi)幕-Innodb引擎)
需要適度人群:非常熟練使用Sql,有像是數(shù)據(jù)庫設(shè)計經(jīng)驗,對索引,mysql原理,及具體用法優(yōu)化方法感興趣,包括有識于下一界DBA的同學。
談java應該離得開數(shù)據(jù)庫的,開發(fā)中會遇上很多數(shù)據(jù)庫具體問題,尤其是索引部分,這本書推薦的很是淋漓透徹,從數(shù)據(jù)類型,索引原理,組建索引怎么設(shè)計的陷阱,具體用法優(yōu)化方法,等方面來談,大都可以不再運用到求實際工作中的經(jīng)驗。對于后面偏架構(gòu)運維章節(jié),可依據(jù)個人興趣工作需要而定。
第二本書偏原理,能直接應用于工作的一般很少,不過讀完后之后,還是讓人總覺得思維煥然一新,肯定能感受到一下mysql的設(shè)計,這對自己以后設(shè)計相似功能(事務(wù)實現(xiàn),緩沖池基于,todo,undo..,鎖.等)會有太大借鑒吸收意義。