1 回答

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超5個(gè)贊
Hi,其實(shí)你不是遇到瓶頸,只是你不知道應(yīng)該學(xué)什么罷了,或許你說(shuō)的,也許是我經(jīng)歷過(guò)的,我說(shuō)一下下面這種現(xiàn)象,如果你覺(jué)得我說(shuō)對(duì)了,那么請(qǐng)按照我的方法去學(xué)習(xí)
現(xiàn)象1:工作中的內(nèi)容得心應(yīng)手,想學(xué)一些新東西,但是呢,這些新東西,工作中又用不到,這豈不是耽誤自己寶貴的時(shí)間
現(xiàn)象2:想跳槽,面試的時(shí)候碰壁,因?yàn)槊嬖噯?wèn)的東西,自己從來(lái)沒(méi)用過(guò),尤其是讓你說(shuō)原理的時(shí)候,更是完全不知道
如果你的內(nèi)心存在上述兩種現(xiàn)象,那么我曾經(jīng)也遇見(jiàn)過(guò),我提供一下我的建議吧,當(dāng)然每個(gè)人的學(xué)習(xí)方式是不一樣的,在此僅供你參考
了解數(shù)據(jù)結(jié)構(gòu),其目的是為了閱讀源碼;這里推薦一本書,叫《JAVA數(shù)據(jù)結(jié)構(gòu)和算法》Robert著的,有中文版,其中主要是數(shù)組,鏈表,HashMap的數(shù)據(jù)結(jié)構(gòu)
開始閱讀JAVA集合框架源碼,此時(shí),你會(huì)深深感激你在1中做的事情
閱讀設(shè)計(jì)模式,其目的是為了閱讀SpringMVC源碼,這里推薦一本書,叫《headfirst設(shè)計(jì)模式》,你不需要全部讀完,只需要認(rèn)真讀完前5章節(jié),目的是為了更深的理解接口,抽象類,繼承這些概念,當(dāng)你讀完之后,我保證你對(duì)接口,抽象類,繼承,有顛覆的認(rèn)知,絕對(duì)不是現(xiàn)在的你可以理解的
閱讀Spring MVC源代碼,請(qǐng)注意,我說(shuō)的是Spring MVC,而不是Spring,為什么呢,因?yàn)镾pring核心概念依賴注入和AOP的代碼,極度晦澀復(fù)雜,你根本無(wú)法理解其中有多么難,所以這里我建議你閱讀spring mvc源代碼,為什么是spring mvc,而不是mubatis,德魯伊數(shù)據(jù)源,或者tomcat源代碼??有必要跟你提及一下,spring的代碼規(guī)范是java業(yè)界最為規(guī)范,java 文檔最齊全的源碼,各種設(shè)計(jì)模式層出不窮
從上述1-4,沒(méi)有一年是達(dá)不到的,到了這里,你可以學(xué)習(xí)一些其他的中間件了,這取決于你所在公司用了什么,比如你們公司用了rabbit MQ,那么你可以了解一下,你們用了kafka,你也可以學(xué)習(xí)一下,在這里,如果你們公司用了netty,我強(qiáng)烈推薦你要深入了解一下netty
從5開始就是你個(gè)人和所在環(huán)境用的東西了,到了此時(shí),我已經(jīng)沒(méi)有什么推薦給你的了,加油吧,1-4我保證你能學(xué)到很多東西,20K是沒(méi)有什么問(wèn)題了,然后就是架構(gòu)層次的東西了,說(shuō)這些還早,我也不想打字了,作為前輩只能說(shuō)這么多了
添加回答
舉報(bào)