小白自學java,有什么書或者軟件推薦嗎?
我在最開始自學Java的時候看了兩本書《Java編程思想》和《head first Java》。《Java編程思想》號稱Java編程界的圣經,做Java開發的基本人手一本,這本書由淺入深講的特別詳細,比較適合小白入門。這本書很厚,真的要讀完至少得花半年的時間,后來我就把它當做我Java的字典,供查詢知識點使用。《head first Java》這是一本有趣的書,head first系列的書都是以比較詼諧幽默的方式講解知識,特別適合培養興趣。如果看完這兩本書,沒問題,你已經進入Java的圈子了。看書一定要沉得住氣,真的看進去才能有效果。看書的同時,配合講解視頻,網上的視頻很多,我當年看的馬士兵的視頻學習,好多年過去了,仍然值得一看,當然現在網上還有很多視頻可供學習,去網易云課堂一搜便是。

動手不?必須動手!
編程說到底還是個動手的活,所有程序都是程序猿大軍敲出來的。不動手,不僅提高不了編程技能,簡直就是學不會編程的(不僅限于Java,所有的編程語言都是如此)。在看書和看視頻的時候,從hello world!開始,無論是視頻中的還是書中的每一個例子都要自己動手敲一遍,不僅能加深記憶,更能促進對知識點的理解。
博客將是你進步的階梯
不止剛入門的小白,就連有多年開發經驗的老年程序猿在某些知識點上都會存在困惑。看不懂也怎么辦?完全搞不明白怎么辦?周圍沒有大神請教怎么辦?互聯網給我們提供了豐富的資源,百度一下總是要得,技術大牛們會把自己的理解圖文并茂的以非常通熟易懂的方式展示在其博客中,堪稱簡單易懂。多讀技術博客,也是提升自己編程水平的一個捷徑,多關注技術大牛的博客。
計算機專業四把利劍補一下
數據庫,編程必不可少的技能。數據庫是什么?我會增刪改查就夠了吧。非也,數據庫的水感覺比編程要深一些。還是由淺入深的學一遍,增刪改查操作是最基本的要求。數據庫設計、數據庫的鎖、數據庫的索引、分布式數據庫、數據庫的優化等,這些總是要了解的,應該是要懂才行。數據庫將是你學習編程之路的必經之路,必須得淌一遍。這里推薦一本書《MYSQL技術內幕》。
計算機操作系統,復雜的微機原理、匯編就算了,Windows操作系統、linux操作系統熟悉不?了解了系統架構,對今后的項目開發十分有益。不熟悉的話就得補一補。Linux的命令什么 cat、cd、list、tail、kill等必須要會,不然你怎么部署服務器。
數據結構,這個是四把利劍之中相對比較重要的一把劍了。如果你不懂這個,那就別談學編程了,隊列、堆、棧、圖、樹等,這些都是要懂原理,還要能編程寫出來。太難的紅黑樹啥的就先放放吧。
計算機網絡,互聯網網絡時代不懂網絡,那還怎么寫程序。網絡協議必須得懂,面試的時候經常問的,三次握手?TCP、UDP有啥不同?301是啥代號?這些基本的操作,對于小白來說可能看不太懂,沒關系,學習就會懂了。
經歷了以上的洗禮,你將不再是小白,下面要提升技能了。

來看看底層到底是啥樣的
JVM(Java虛擬機),Java程序跑的起來全靠JVM的鼎力相助。如果不了解它,怎么能寫出高性能的Java程序呢。JVM呢,內容還是不少的,體系結構、內存管理、垃圾回收等這些都是提升你編程水平的最好輔助。還有一個比較重要的內容JVM調優,你得會調教它,它才會更聽話,更好的幫你干活。這里推薦一本書《深入理解JAVA虛擬機》,深入了解一下。
框架總要懂得
JAVA web的框架很多,主流的有三大件SSH框架、Mybatis框架等。其中Spring框架要跟它深入交流一下,畢竟用它的比較多。什么IOC、AOP 面試官都喜歡問它們。要是答不上來,好尷尬沒法勝任工作了。推薦一本書,便于了解內幕----《Spring 技術內幕》。
大數據時代,大數據算法最好懂一些
讀研的時候,看過兩本書,一本《Spark 快速大數據分析》,一本《Hadoop權威指南》。工作之后,這方面用的比較少。如果不打算從事大數據方面的工作,了解一下就可以啦。
算法,算法,還是算法
算法乃程序之靈魂,一個好的算法可以達到事半功倍的效果。如果你曾經疑惑為什么今日頭條能給我精準推薦我想看的內容?為什么馬云爸爸知道我最近在淘寶上想買什么?為什么天貓能抗住雙十一的數據洪流?為什么我的快遞先送到某地再送到我這里?這些問題的答案很簡單兩個字“算法”。在我們這算法工程師的工資我只能仰視,學算法準沒錯。推薦兩本書《編程珠璣》,《算法之美》。看完之后,我相信你會來一句這么神奇,竟然還有這種操作。
項目實踐
到了檢驗學習成果的階段了,怎么檢驗,還是動手。動手做一些小的項目,把所學到的知識點融合運用一下,找不足,查缺漏,而后繼續學習,繼續提高。
根據我的學習路子,總結如上,學習不是一蹴而就的,而是一個積累提高的過程。雖然我千把字就說完了,但是真要學起來是需要時間和精力的。還有一定要堅持住,既然選擇了這個方向,那就不問前路,只管努力。

