更新時間:2020-08-31 11:18:27 來源:動力節(jié)點 瀏覽2771次
Java成長路線圖是什么?這是很多java小白想要了解的,下面就由小編來告訴大家。
1. 新手
如果你是新手階段,全面、扎實地掌握語言的基本要素是當(dāng)務(wù)之急。在這個階段我認(rèn)為是有無限可能的,因此我并不建議完全用《Java核心技術(shù)36講》專欄作為Java語言入門的課程,而是更應(yīng)該找到更基礎(chǔ)的、系統(tǒng)的Java書籍或者課程。
你可以在正規(guī)的指導(dǎo)下飛速進步,并培養(yǎng)出良好的編碼習(xí)慣。然后可以再結(jié)合專欄,看看Java技術(shù)領(lǐng)域典型的、長期的熱點話題,了解業(yè)界通常從哪些角度判斷你的能力和水平。
2. 高級新手
工作了幾年,整天忙于業(yè)務(wù)代碼,很容易困惑下一步的方向在哪里,相當(dāng)多的程序員長期停留在高級新手的階段。一個常見的表現(xiàn)就是發(fā)展成為了“面向搜索引擎”編程工程師,擅長快速利用開源項目或者以往成果,完成一些“OK”的工程任務(wù)。這本無可厚非,職業(yè)路線很多,未必每個人都想成為底層專家。
但是,如果想在技術(shù)領(lǐng)域更進一步,一定要避免下面兩個問題。
面對沒見過的、一定規(guī)模的或者較高標(biāo)準(zhǔn)的問題時無所適從,具體表現(xiàn)為“領(lǐng)導(dǎo),你看這樣行嗎?”。沒做過互聯(lián)網(wǎng)高并發(fā)應(yīng)用,難道就不能對并發(fā)編程有相對深入的思考嗎?比如,習(xí)慣了使用Executors,你有沒有思考過不同的線程池到底適合什么場景?當(dāng)前的實現(xiàn)在未來業(yè)務(wù)量增長下可能出現(xiàn)什么問題?
無法獨立提供有說服力的、有深度的分析、設(shè)計和實現(xiàn),比如業(yè)務(wù)系統(tǒng)運行一段時間就變慢,調(diào)整Heap大小,似乎仍然OOM。目前團隊處理的方式就是重啟服務(wù)器,有沒有想過去發(fā)掘真正的原因,真正去解決它?
小編建議不要滿足于這些表面的特征,要學(xué)會用白盒的視角看待技術(shù)內(nèi)部,系統(tǒng)性的思路掌握普遍規(guī)律。即使未來你不在一線編碼,或者未來不再使用Java,同樣的思維習(xí)慣和積累也是很有幫助的。
3. 勝任者
那如何才能算是擺脫了高級新手的階段呢?或者換句話說,如何成長為團隊的核心成員?這取決于你能背多大的鍋、填多大的坑,比如你已經(jīng)可以:
獨立負(fù)責(zé)做GC調(diào)優(yōu),即使沒有歷史經(jīng)驗,也能給出有說服力的方案。
在JVM領(lǐng)域有充足的技術(shù)經(jīng)驗和知識儲備。
全面評估評估后臺變慢等問題的復(fù)雜度、風(fēng)險點、解決的可能性。
對于所謂本質(zhì)的思考和理解,能聽懂深入的抽象觀點。
并且,除了Java/JVM,還要掌握更完整的技能樹,例如分布式系統(tǒng)設(shè)計、數(shù)據(jù)庫隔離級別選型等。
掌握將“OK”的事情做到“excellent”程度的能力,不斷地進行高效實踐、領(lǐng)域的擴展和精深,我們就可以達到并超過勝任者,逐步成為精通者和專家。
4. 精通者和專家
如果你已經(jīng)精通Java語言或者是特定領(lǐng)域的專家了,那這個專欄對你的幫助可能體現(xiàn)在不同角度,可以當(dāng)作特定領(lǐng)域的、不同視角吧。例如,在這個階段,精通者或?qū)<夷軌颍?/p>
提煉并發(fā)工具類的一般性指導(dǎo)方法。
告訴團隊如何寫出安全的Java代碼,防范看似安全下隱藏的風(fēng)險。
借鑒Java/JVM中的一些技術(shù),從基礎(chǔ)能力上提高自身平臺的能力。例如,PHP 7中引入的JIT,帶來了極大的性能提升,第35講中對JIT的介紹,就有了新的用武之地。
如何通過Container-Aware技術(shù),提高Kubernetes集群中JVM負(fù)載的可靠性。
以上就是Java成長路線圖,官網(wǎng)上有更多的java技術(shù)文檔可以在線學(xué)習(xí),大家可要朝著目標(biāo)努力學(xué)習(xí),成長起來!