本篇文章給大家談談java自學書籍推薦,以及java自學要學多久對應的知識點,文章可能有點長,但是希望大家可以閱讀完,增長自己的知識,最重要的是希望對各位有所幫助,可以解決了您的問題,不要忘了收藏本站喔。
希望自學java,你覺得有什么好的書籍(本人有時間,有耐心)求推薦
1.《Java編程規范》適合對象:初級、中級介紹:這本書的作者是被譽為Java之父的JamesGosling,入門者推薦閱讀,對基礎的講解很不錯。2.《Java編程思想》適合對象:初級、中級介紹:豆瓣給出了9.1的評分,全球程序員廣泛贊譽。有人說這本書不適合初學者,不過小編認為作者并沒有對讀者已有的知識經驗有過多要求,只是要求讀者需要知道基本的程序語言。作者以通俗易懂及小而直接的示例解釋了一個個晦澀抽象的概念,需要花時間細細研讀。3.《Java核心技術:卷I基礎知識》適合對象:初級、中級介紹:官方機構圖書,備一本總是沒錯的。這本書比較全面也通俗易懂。可以當字典的功能來用,學習入門必備。4.《Java數據結構和算法》適合對象:初級、中級、高級介紹:這本書目前基本斷貨,足以說明搶手程度。作者主要使用Java語言描述了我們常用的數據結構,值得一看。5.《Java與模式》適合對象:中級、高級介紹:難得一見的國人寫的Java好書。主要講解設計原則以及最為常見的設計模式的實用教材。這本書出現的比較早,是初級到中高級必讀的圖書之一。6.《SCJP學習指南》適合對象:初級、中級介紹:官方考試的必備圖書,對檢驗自己的Java學習情況很有幫助。這本書特別適合學生閱讀,這本書理解透了,找工作面試Java題目不會有任何問題。一些工作多年的工程師都會在里邊遇到一些不會做的
青少年編程書籍推薦
我推薦以下幾本
1.《Python編程快速上手》這本書適合初學者,通過簡單易懂的語言和實例,幫助讀者快速入門Python編程。
2.《Scratch編程入門》這本書適合小學生或編程初學者,通過Scratch編程語言,引導讀者學習基本的編程概念和邏輯思維。
3.《Java編程思想》這本書適合有一定編程基礎的青少年,詳細介紹了Java編程的基本概念和高級特性,對于深入學習Java編程非常有幫助。
4.《算法競賽入門經典》這本書適合對算法和競賽編程感興趣的青少年,介紹了常見的算法和數據結構,并提供了大量的習題和解析,幫助讀者提升編程能力。
以上推薦的書籍是根據廣泛的青少年編程教育資源和讀者反饋得出的,它們在內容難度和教學方法上都有一定的優勢,適合不同層次的讀者。
自學Java,什么書籍合適一點
看視頻教程更加高效,如鵬網的《這樣學Java不枯燥》視頻教程不錯,看視頻能看到敲代碼的過程,代碼是活的,很方便,而且在學習的過程中做好筆記,幫助自己也總結了一遍,方便以后復習,回來復習的時候不需要在重新看一遍視頻;
還有另外一點,就是實踐,軟件開發行業的一大特點就是光看不做永遠都學不會,在學習的過程中,需要不斷的練習,跟著老師的思路實現一遍,自己再實現一遍;模仿是最好的學習!多看看大牛們的代碼是怎么寫的,潛移默化,自己的武功也能提高。
想學習Java的話,可以看一下如鵬網的視頻教程——《這樣學Java不枯燥》,通過開發超級瑪麗,飛機大戰,吃金幣,電影的彈幕動畫等來講解Java的知識點,沒想到Java還可以這么學,聽好玩的,適合初學者,有問題隨時提問,老師實時在線答疑,口碑不錯,基本上都是慕名而去的,課程體系的設置可以極大的激發對編程的興趣,學起來不枯燥!
當時做的一個電影的彈幕動畫的小項目,挺有意思的,可以去看看;
兩年經驗的Java程序猿,想提升自己,有哪些書值得看看
學習的最好途徑就是看書
“學習的最好途徑就是看書”,這是我自己學習并且小有了一定的積累之后的第一體會。個人認為看書有兩點好處:
1、能出版出來的書一定是經過反復的思考、雕琢和審核的,因此從專業性的角度來說,一本好書的價值遠超其他資料
2、對著書上的代碼自己敲的時候方便
“看完書之后再次提升自我的最好途徑是看一些相關的好博文”,我個人認為這是學習的第二步,因為一本書往往有好幾百頁,好的博文是自己看書學習之后的一些總結和提煉,對于梳理學習的內容很有好處,當然這里不是說自己的學習方法,就不再扯下去了。
很多程序員們往往有看書的沖動,但不知道看哪些書,下面我就給各位Java程序猿們推薦一些好書(每本書的作者會加粗標紅),其中絕大多數都是我自己平時在看的書,也算是我對于平時讀的書做一個小總結和讀后感吧。
目前市面上講解設計模式的書很多,雖然我前面講了看書是最好的,但是對設計模式感興趣的朋友們,我推薦的是這個博客。這位博友的設計模式講得非常非常好,我認為90%的內容都是沒有問題且很值得學習的,其講解設計模式的大體路線是:
1、開篇點明該設計模式的定義
2、圖文并茂講解該設計模式中的結構
3、以詳細的代碼形式寫一下該種設計模式的實現
4、補充內容
5、講解該設計模式的優缺點
對于一個設計模式我們關注、學習的知識點,不就是上面這些嗎?
不過我要重點提醒一下網友們,同一種設計模式的寫法有多種,并不是說只有按某種寫法來寫才是這種設計模式。比方說適配器模式,我們關注適配器模式一定要關注的是什么是適配器模式不是怎么寫適配器模式,不要認為某段代碼不是按照適配器模式的寫法寫下來的它就不是適配器模式了,記住這一點,你在學習設計模式的時候一定會對代碼中用到的設計模式有更深入的理解。
《深入理解Java虛擬機:JVM高級特性與最佳實踐》
如果你不滿足于做一個只會寫if…else…的Java程序員,而是希望更進一步,我隨便舉幾個例子吧:
1、了解Java代碼的底層運行機制
2、定位性能問題
3、對整個系統進行性能調優
4、解決各種奇奇怪怪的線上線下問題
5、更加高級別的,為自己的項目量身定做一款適合自己項目的虛擬機
那么Java虛擬機是你必學的一門技術。《深入理解Java虛擬機:JVM高級特性與最佳實踐》作者是周志明,這本書可以說是國內寫得最好的有關Java虛擬機的書籍,近半年,前前后后這本書我起碼看了有5遍。國內寫虛擬機的書除了這本,其實還有一些其他的,我也買過,不過粗略看下來,很多內容也是《深入理解Java虛擬機:JVM高級特性與最佳實踐》此書里面的。
另外值得一提的是,《深入理解Java虛擬機:JVM高級特性與最佳實踐》這本書,有電子版的,網上搜一下就能下載到了。不過建議有興趣的朋友還是去買書看,電子版本下載到的一般是比較老的版本,相比最新修訂版的《深入理解Java虛擬機:JVM高級特性與最佳實踐》,有很多作者新補充的知識點是沒有的。
《HotSpot實戰》
所有的Java虛擬機都是遵循著Java虛擬機規范來的,市面上的Java虛擬機幾十款,《深入理解Java虛擬機:JVM高級特性與最佳實踐》一書里面講的虛擬機并不針對某種特定的虛擬機,而是從Java虛擬機規范的角度來講解Java虛擬機。
我們平時使用的乃至商用的大多數Java虛擬機都是Sun公司的HotSpot,大家cmd進入命令行,使用”java-version”命令就可以看到了。如果希望在Java虛擬機規范的基礎上更加深入地去理解虛擬機的一些細節是怎么實現的,就可以看一下《HotSpot實戰》一書,作者是陳濤。不過由于HotSpot的源碼都是C/C++寫的,所以要求讀者有非常好的C/C++基礎,如果對這兩門語言不是很熟悉的朋友,看這本書可能對你幫助不是很大。
最后提一句,如果有興趣的朋友,不妨先去網上下載一個openJDK,HotSpot的源碼就在里面。
《Java并發編程實戰》
這本書常常被列入Java程序員必讀十大書籍排行榜前幾位,不過個人不是很推薦這本書。
《Java并發編程實戰》作者是BrianGoetz,怎么說呢,這本書前前后后我也看了兩遍左右,個人感受是:
1、文字多代碼少
2、講解多實踐少
我覺得這可能就是老外寫書的特點吧,因為Java是北美國家(加拿大、美國)開發和維護的,所以老外對Java方方面面的理論知識體系都掌握得是非常清楚和透徹的。翻開這本書看,多線程什么用、什么是死鎖、什么是競爭、什么是線程安全等等,方方面面的知識點都用大量的文字篇幅講解,不免讓人感覺十分枯燥,也難讓讀者有實質性的進步。我這本書看了兩遍也屬于一目十行意思,有興趣的地方就重點看一下。
無論如何,作為一本常常位于Jva程序員必讀十大書籍排行榜前幾名的書,還是一定要推薦給大家的。
《Java多線程編程核心技術》
《Java多線程編程核心技術》作者高洪巖。想要學習多線程的朋友,這本書是我大力推薦的,我的個人博客里面二十多篇的多線程博文都是基于此書,并且在這本書的基礎上進行提煉和總結而寫出來的。
此書和《Java并發編程實戰》相反,這本書的特點是大篇幅的代碼+小篇幅的精講解,可能這和中國人寫的書比較偏向實用主義的風格有關。本書關于線程安全、synchronized、Reentrant、Timer等等都用詳細的代碼進行了講解,而且每個大知識點下的多個小知識點都會詳細講解到,非常有實踐價值。
有興趣的朋友們,我相信只要你們跟著這本書里面的代碼敲、運行、思考,三步走,對于多線程的使用與理解一定會進幾大步。
不過這本書的缺點就是對于Java并發包下的一些類像CountDownLatch、Semphore、CyclicBarrier、Future、Callable等都沒有講到,重點的CAS和AQS也沒有觸及,重點類的實現原理也沒有提。當然,這很深入了,在學習了這本書之后如果能再去對這些知識進行一些學習、研究的話,你一定會慢慢成長為一個很厲害的多線程高手。
《EffectiveJava中文版》
這是唯一一本我沒有買的書。初識這本書,是在我的博文Java代碼優化(長期更新)里面,底下評論的時候有朋友提到了這本書,當時我說要去買,不過這兩個月一直都沒時間去逛書店,甚是遺憾,之后肯定會找時間去買這本書的。
《EffectiveJava中文版》的作者是JoshuaBloch,這個人就很厲害了,他是谷歌的首席架構師,屬于超級技術大牛級別了吧,呵呵。由于沒有看過這本書,所以我不好發表評論,但是從這本書的知名度以及其作者的來頭來看(多提一句,這本書也是Java之父JamesGosling博士推崇的一本書),我相信這一定是一本值得一看的好書。
好的代碼是每個Java程序員都應該去追求的,不是說我今天寫一段好代碼相比寫一段爛代碼對性能會有多大的提升,更多的應該是提升了代碼的可讀性以及可以規避許多潛在的、未知的問題,避免代碼上線之后出問題而花時間去維護—-無論從時間成本、人力成本還是風險成本來說,這都是非常高的。
《深入分析JavaWeb技術內幕》
《深入分析JavaWeb技術內幕》,作者許令波,淘寶工程師。
這本書我用一個字概括就是:全。真的非常全,HTTP、DNS、CDN、靜態化、Jetty、Tomcat、Servlet、Spring、MyBatis等等,什么都有,涉及知識面非常廣,但又不像專門精講某個知識點的書籍一樣講得非常深入,感覺這本書就是盡量去用短的篇幅講清楚一些JavaWeb使用到的技術的內幕,讓讀者對這些知識點的技術內幕有一個理性的認識。
不過,盡管每個知識點的篇幅都不多,但是重點都基本講到了,是一本讓人真正有收獲的書。如果想進一步了解這些技術的技術內幕,就要自己去買相關書籍或者自己上網查資料了,有種拋磚引玉,或者說師傅領進門、修行在個人的感覺。
《大型網站技術架構核心原理與案例分析》
一個字評價這本書,屌;兩個字評價這本書,很屌;三個字評價這本書,非常屌。呵呵,好了,再說下去可能別人以為我是水軍了。
《大型網站技術架構核心原理與案例分析》的作者是李智慧,原阿里巴巴技術專家。
Java的大多數應用都是用在Web上的,現在只要稍微大型一點的Web應用,都一定是一個分布式系統,那么一個分布式系統用到了哪些技術?一個大型網站是如何從一個小型網站成長起來的?如何保證你的網站安全?分布式系統使用到了緩存,有哪些緩存?緩存的使用有哪些值得注意的事項?
關于分布式的知識點,都在這本書里面有體現,只有你想不到,沒有他寫不到,而且寫得非常易懂,基本屬于看一兩遍,再記一些筆記就知道是怎么一回事兒了。多看幾遍,對分布式的理解一定會加深不少。而且里面不僅僅是分布式的知識,還非常接地氣地寫了如何做一個好的架構師,其實我認為這不僅僅是寫給想做架構師的讀者看的,就是給讀者一些建議,如何更好地提出意見、如何更讓別人關注你的聲音、如何看到他人的優點,入木三分,讓人獲益匪淺。
《大型網站系統與Java中間件實踐》
《大型網站系統與Java中間件實踐》作者曾憲杰,是淘寶的技術總監,算起來應該在阿里有至少P8的級別了吧。
這本書的部分內容和上面一本李智慧的《大型網站技術架構核心原理與案例分析》有所重合,像分布式系統的演化、CDN、CAP理論和BASE理論等等,這也更說明這些都是分布式系統或者說是一個大型網站重點關注的內容,當作一次再學習也不錯。
本書要突出的重點是中間件三個字,中間件是分布式系統中一個非常重要的東西,其最重要的作用應該就是解耦,降低模塊與模塊之間的強依賴,不同的模塊之間的依賴度降低,便可以各自獨立地開發自己的功能,這也可以說是軟件工程發展的目標和驅動力。
因此,本書有一部分的內容就是基于中間件,詳細講解了中間件與JMS的各種知識,適合對分布式系統比較熟悉并且想要往中間件方面有一定研究的讀者。
《從Paxos到ZooKeeper分布式一致性原理與實踐》
《從Paxos到ZooKeeper分布式一致性原理與實踐》,作者倪超,阿里巴巴工程師。
這本書是我最近在研讀的一本書,和上面的《大型網站系統與Java中間件實踐》一樣,屬于分布式組件的范疇,屬于有些深入的內容,當然也是我自己的個人興趣。當然,如果有志向做一個出色的大型網站架構師、公司的技術總監之類,這些知識當然是必須掌握的。
本書從分布式系統基本理論開始講起,講到Paxos算法,最后慢慢引入到Zookeeper,循序漸進。當然,更多的我目前還不方便發表什么看法,因為這本書的第二章Paxos算法我都還沒有弄懂(Paxos算法確實有些難以理解和不太易懂),接下來的章節還沒有看下去。
如果網友們所在的公司在使用Zookeeper,并且你又對Zookeeper感興趣想要研究一下它的原理的,這本書將是不二之選。
《MySQL5.6從零開始學》
《MySQL5.6從零開始學》,作者劉增杰和李坤。
作為一名Java程序員,我認為我們千萬不要覺得數據庫是DBA的事情,數據庫對一個Java程序員來說也是必須掌握的一門知識,豐富的數據庫性能優化經驗是一個頂尖程序員必備技能。
目前主流的數據庫有Oracle和MySQL,當然推薦大家的是MySQL,主要原因我認為有兩點:
1、MySQL相比Oracle更輕量級、更小、安裝和卸載更方便,SQL其實都是差不多的,如果想學數據庫,學MySQL就可以了,在家里面可以自己方便地研究,如果你的公司使用Oracle,只要再用對比學習法,關注一下Oracle和MySQL的差別即可
2、隨著2009年阿里巴巴去IOE的運動的進行,目前國內的很多互聯網公司都會選擇MySQL作為它們使用的數據庫,因為MySQL免費,所以既省錢又不需要出了問題就依賴甲骨文公司
MySQL學習我推薦的是這本我自己學習看的《MySQL5.6從零開始學》,我是覺得挺好的這本書,書里面的知識點很細致、很全面,讀者選擇書籍的標準大多不就是這兩點嗎?
《Spring源碼深度解析》
《Spring源碼深度解析》,作者郝佳。
Spring這個框架做得太好了,功能太強大了,以至于很多開發者都只知Spring,不知什么是工廠、什么是單例、什么是代理(我面試別人的真實體會)。這種功能強大的框架內部一定是很復雜的實現,這就導致一旦你的程序使用Spring,出了問題,可能是Error、可能是Exception、可能是程序運行結果不是你的預期的,出現諸如此類問題的時候,將會讓你感到困惑,除了上網查資料或者問別人似乎沒有更好的解決辦法。
研讀Spring的源代碼不失為一種很好的學習方法,我個人認為這有很多好處:
1、理解框架內部的實現之后,可以主動去解決問題,而不需要依賴別人
2、Spring框架內部實現用到了很多設計模式,很好的代碼設計思路,這將會對你寫代碼、對你理解設計模式有很大的提高
3、研究Spring框架將會大大增強你讀代碼的能力,我相信只要你能研究清楚Spring內部是如何實現的,其他任何一個框架的源代碼都難不倒你
總而言之,我認為讀代碼的能力是一個普通的程序員和一個好的程序員之間最大的差別之一,前者只會把別人寫好的東西拿來用,后者不僅能用好,還清楚知道別人寫好的東西底層是如何實現的,在出現問題的時候可以輕松解決。
Spring源代碼,個人推薦《Spring源碼深度解析》一書,真要研究透并且寫清楚Spring源代碼,恐怕三四本書都不夠,作者在近400頁的篇幅中盡量去講解Spring源代碼是如何實現的,殊為不易,盡管無法講得完全,但是相信作者的講解配合上讀者自己的研究,一定可以對Spring的實現有更深度的理解。
后記
以上就是我推薦給Java開發者們的一些值得一看的好書。但是這些書里面并沒有Java基礎、Java教程之類的書,不是我不推薦,而是離我自己學習Java基礎技術也過去好幾年了,我學習的時候看的什么也忘了,所以我不能不負責任地推薦一些我自己都沒有看過的書給大家。
順便支持一下小編吧!
零基礎的人學java,看哪些書求推薦幾本書籍
對于零基礎的人來說,學習開發語言都是一件很困難的事情,因為是無從下手,并且java也不是看看就能會的。
如果沒有一定的思維邏輯能力那還真不是學個辦公軟件這么輕松;如果你自學過office辦公軟件、考過計算機二級C,那么學習起來相當要輕松些,必盡也算有一定的語言基礎。不然就是一張白紙,從最基礎的入手,你可以看下《java從入門到精通》,也就是先找一本讀一讀,看自己有沒有這個能力看懂,因為這本書相對來說是比較基礎的,上面也有很多初學者反映比較好,如果自己完全能理解,并且能把上面的內容消化,就可以找一些相對專業的書籍來看了《Java編程思想》、《深入理解java虛擬機》、《java開發實戰經典》、《mysql數據庫》《javaweb開發項目實戰》.
基本上學習完以上知識,后面的內容我也相信如果自學的話,肯定是能找到方向并找到好的書籍。因為這個體系就是一條主線,你找到了源頭,后面的基本自己就知道要學什么了,要學到什么程度了。
我看好多這樣的問題,都是一些機構在自已人問自已人答,這個目的真的很明顯了。發現有:優**、**堂、*馬、*內、*鳥的等等特別多,這樣的問題成了某些機構的招生宣傳了。
但愿能幫到你,希望你也是真心問的。
好了,文章到此結束,希望可以幫助到大家。