有沒(méi)有大佬能分享一下學(xué)習(xí)java的經(jīng)驗(yàn)?
一入技術(shù)深似海,日新月異拼命追!
一開(kāi)始學(xué)習(xí)JAVA,覺(jué)得仿佛給自己打開(kāi)了一扇創(chuàng)造的大門(mén),每天用學(xué)到的點(diǎn)點(diǎn)滴滴實(shí)現(xiàn)一個(gè)又一個(gè)的需求,很有成就感!賺的也比一般工薪族多一些!
但是很快就厭倦了沒(méi)日沒(méi)夜的增刪改查,看著功能大相徑庭,其實(shí)內(nèi)里相差無(wú)幾,CV大法,改改對(duì)象名,改改方法名,很快就實(shí)現(xiàn)了一個(gè)需求!
很快的就覺(jué)得公司不大行,配不上自己的“水平”,出去面試,專(zhuān)門(mén)找大公司,好公司,以為信手拈來(lái),然而事實(shí)是不斷放低自己的要求,面試了很多公司都無(wú)疾而終,跪在的問(wèn)題不是高并發(fā),不是分布式,而是基本的排序算法,基本的數(shù)據(jù)結(jié)構(gòu),基本的網(wǎng)絡(luò)知識(shí),JAVA運(yùn)行原理等等這些平時(shí)用了千百遍,卻說(shuō)不出所以然的東西!
于是開(kāi)始懷疑自己了,學(xué)JAVA到底學(xué)了什么?增刪改查寫(xiě)了幾百遍,這跟實(shí)習(xí)生寫(xiě)三遍的差別在哪?緩存指令只會(huì)set,get,遇到問(wèn)題了怎么辦?服務(wù)宕機(jī),緩存擊穿?jvm底層是什么,你知道嗎?
然后告訴自己,要熟悉底層,開(kāi)始關(guān)注性能,可擴(kuò)展性,如何優(yōu)化,如何跟實(shí)習(xí)生拉開(kāi)差距,不再是一個(gè)只會(huì)CV,只會(huì)增刪改的“大神”!
這就是我?guī)啄昵暗膶W(xué)習(xí)寫(xiě)照,總是喜歡搞一些花里胡哨的東西,到最后啥也沒(méi)學(xué)到!
所以我在此建議 :
①,注重底層:jdk中基本的數(shù)據(jù)結(jié)構(gòu)(比如hashmap,hashtable,concurrentHashmap,synchronizedMap區(qū)別是什么?如何取舍?),jvm內(nèi)存模型,內(nèi)存結(jié)構(gòu),gc,并發(fā)包,反射等等!
②,不要想著啥都會(huì):緩存有好幾種,消息中間件有好幾種,數(shù)據(jù)庫(kù)中間件有好幾種,微服務(wù)框架有好幾種,如果這個(gè)學(xué)一點(diǎn)那個(gè)學(xué)一點(diǎn),有可能最后都只是掌握皮毛,實(shí)際中用不到很快就忘了,而且看的太多容易產(chǎn)生倦怠心里,真真正正的搞懂幾個(gè)中的一個(gè)就行了!
③,緊跟新技術(shù)但不盲從:目前JAVA8還是主流,流式處理函數(shù)式編程都很經(jīng)典,雖然JAVA已經(jīng)發(fā)到11,但可以變掌握舊的邊擁抱新的,類(lèi)似的還有springboot和最新的微服務(wù)mesh等等!
④,不要三天打魚(yú)兩天曬網(wǎng):學(xué)習(xí)是一輩子的事,只有保持足夠的熱情,付諸足夠的精力才能不被淘汰!
⑤,喜歡分享:以我自己為例,有時(shí)候有些概念比較模糊,心里就想著要分享給別人,不能含糊,努力去弄懂,然后盡量用通俗易懂的話描述出來(lái),這時(shí)候你會(huì)發(fā)現(xiàn)豁然開(kāi)朗了,真正的會(huì)了!
編程真的是要學(xué)習(xí)一輩的東西,分享讓我掌握得更牢靠,所以我會(huì)持續(xù)分享的,敬請(qǐng)關(guān)注。。