我在最開始接觸Java的時(shí)候看了兩本書《Java編程思想》和《head first Java》。《Java編程思想》號(hào)稱Java編程界的圣經(jīng),做Java開發(fā)的基本人手一本,這本書由淺入深講的特別詳細(xì),比較適合小白入門。這本書很厚,真的要讀完至少得花半年的時(shí)間,后來我就把它當(dāng)做我Java的字典,供查詢知識(shí)點(diǎn)使用?!秇ead first Java》這是一本有趣的書,head first系列的書都是以比較詼諧幽默的方式講解知識(shí),特別適合培養(yǎng)興趣。如果看完這兩本書,沒問題,你已經(jīng)進(jìn)入Java的圈子了。看書一定要沉得住氣,真的看進(jìn)去才能有效果。

java

動(dòng)手不?必須動(dòng)手!

編程說到底還是個(gè)動(dòng)手的活,所有程序都是程序猿大軍敲出來的。不動(dòng)手,不僅提高不了編程技能,簡(jiǎn)直就是學(xué)不會(huì)編程的(不僅限于Java,所有的編程語言都是如此)。在看書和看視頻的時(shí)候,從hello world!開始,無論是視頻中的還是書中的每一個(gè)例子都要自己動(dòng)手敲一遍,不僅能加深記憶,更能促進(jìn)對(duì)知識(shí)點(diǎn)的理解。

博客將是你進(jìn)步的階梯

不止剛?cè)腴T的小白,就連有多年開發(fā)經(jīng)驗(yàn)的老年程序猿在某些知識(shí)點(diǎn)上都會(huì)存在困惑??床欢苍趺崔k?完全搞不明白怎么辦?周圍沒有大神請(qǐng)教怎么辦?互聯(lián)網(wǎng)給我們提供了豐富的資源,百度一下總是要得,技術(shù)大牛們會(huì)把自己的理解圖文并茂的以非常通熟易懂的方式展示在其博客中,堪稱簡(jiǎn)單易懂。多讀技術(shù)博客,也是提升自己編程水平的一個(gè)捷徑,多關(guān)注技術(shù)大牛的博客。

計(jì)算機(jī)專業(yè)四把利劍補(bǔ)一下

數(shù)據(jù)庫,編程必不可少的技能。數(shù)據(jù)庫是什么?我會(huì)增刪改查就夠了吧。非也,數(shù)據(jù)庫的水感覺比編程要深一些。還是由淺入深的學(xué)一遍,增刪改查操作是最基本的要求。數(shù)據(jù)庫設(shè)計(jì)、數(shù)據(jù)庫的鎖、數(shù)據(jù)庫的索引、分布式數(shù)據(jù)庫、數(shù)據(jù)庫的優(yōu)化等,這些總是要了解的,應(yīng)該是要懂才行。數(shù)據(jù)庫將是你學(xué)習(xí)編程之路的必經(jīng)之路,必須得淌一遍。這里推薦一本書《MYSQL技術(shù)內(nèi)幕》。

計(jì)算機(jī)操作系統(tǒng),復(fù)雜的微機(jī)原理、匯編就算了,Windows操作系統(tǒng)、linux操作系統(tǒng)熟悉不?了解了系統(tǒng)架構(gòu),對(duì)今后的項(xiàng)目開發(fā)十分有益。不熟悉的話就得補(bǔ)一補(bǔ)。Linux的命令什么 cat、cd、list、tail、kill等必須要會(huì),不然你怎么部署服務(wù)器。

數(shù)據(jù)結(jié)構(gòu),這個(gè)是四把利劍之中相對(duì)比較重要的一把劍了。如果你不懂這個(gè),那就別談學(xué)編程了,隊(duì)列、堆、棧、圖、樹等,這些都是要懂原理,還要能編程寫出來。太難的紅黑樹啥的就先放放吧。

計(jì)算機(jī)網(wǎng)絡(luò),互聯(lián)網(wǎng)網(wǎng)絡(luò)時(shí)代不懂網(wǎng)絡(luò),那還怎么寫程序。網(wǎng)絡(luò)協(xié)議必須得懂,面試的時(shí)候經(jīng)常問的,三次握手?TCP、UDP有啥不同?301是啥代號(hào)?這些基本的操作,對(duì)于小白來說可能看不太懂,沒關(guān)系,學(xué)習(xí)就會(huì)懂了。

經(jīng)歷了以上的洗禮,你將不再是小白,下面要提升技能了。

來看看底層到底是啥樣的

JVM(Java虛擬機(jī)),Java程序跑的起來全靠JVM的鼎力相助。如果不了解它,怎么能寫出高性能的Java程序呢。JVM呢,內(nèi)容還是不少的,體系結(jié)構(gòu)、內(nèi)存管理、垃圾回收等這些都是提升你編程水平的最好輔助。還有一個(gè)比較重要的內(nèi)容JVM調(diào)優(yōu),你得會(huì)調(diào)教它,它才會(huì)更聽話,更好的幫你干活。這里推薦一本書《深入理解JAVA虛擬機(jī)》,深入了解一下。

框架總要懂得

JAVA web的框架很多,主流的有三大件SSH框架、Mybatis框架等。其中Spring框架要跟它深入交流一下,畢竟用它的比較多。什么IOC、AOP 面試官都喜歡問它們。要是答不上來,好尷尬沒法勝任工作了。推薦一本書,便于了解內(nèi)幕----《Spring 技術(shù)內(nèi)幕》。

java

大數(shù)據(jù)時(shí)代,大數(shù)據(jù)算法最好懂一些

讀研的時(shí)候,看過兩本書,一本《Spark 快速大數(shù)據(jù)分析》,一本《Hadoop權(quán)威指南》。工作之后,這方面用的比較少。如果不打算從事大數(shù)據(jù)方面的工作,了解一下就可以啦。

算法,算法,還是算法

算法乃程序之靈魂,一個(gè)好的算法可以達(dá)到事半功倍的效果。如果你曾經(jīng)疑惑為什么今日頭條能給我精準(zhǔn)推薦我想看的內(nèi)容?為什么馬云爸爸知道我最近在淘寶上想買什么?為什么天貓能抗住雙十一的數(shù)據(jù)洪流?為什么我的快遞先送到某地再送到我這里?這些問題的答案很簡(jiǎn)單兩個(gè)字“算法”。在我們這算法工程師的工資我只能仰視,學(xué)算法準(zhǔn)沒錯(cuò)。推薦兩本書《編程珠璣》,《算法之美》??赐曛?,我相信你會(huì)來一句這么神奇,竟然還有這種操作。

項(xiàng)目實(shí)踐

到了檢驗(yàn)學(xué)習(xí)成果的階段了,怎么檢驗(yàn),還是動(dòng)手。動(dòng)手做一些小的項(xiàng)目,把所學(xué)到的知識(shí)點(diǎn)融合運(yùn)用一下,找不足,查缺漏,而后繼續(xù)學(xué)習(xí),繼續(xù)提高。