要成为一个 Java 架构师得学习哪些知识以及方法?
“
最近在架構(gòu)師線下實戰(zhàn)中,被問到最多的一個問題,就是要成為一個 Java 架構(gòu)師得學(xué)習(xí)哪些知識,以及怎樣才能做到架構(gòu)師這個級別?
今天主要澄清幾個關(guān)于架構(gòu)師的幾大誤區(qū)。
架構(gòu)師并不是人人都能做到的,如果你能走到這個稱謂,恭喜你,你完全可以進(jìn)入技術(shù)領(lǐng)域人才的TOP5系列。
如果你立志成為一名java架構(gòu)師,也許下面的內(nèi)容對你有一定的參考價值。
萬地高樓平地起,第一條,基礎(chǔ)不扎實的,想做好架構(gòu)師基本沒有什么希望。
大寫的重點,說三遍。
基礎(chǔ)必須掌握扎實
基礎(chǔ)必須掌握扎實
基礎(chǔ)必須掌握扎實
基礎(chǔ)掌握的牢固與否,非常能說明一個人的學(xué)習(xí)能力以及思考方式,還有最重要的一個點,是否真的對技術(shù)有持之以久的興趣,畢竟需要持久的專研學(xué)習(xí),如果沒有興趣,根本不可能持久專研,也許做個5年就轉(zhuǎn)行了。
還有一點,很多小伙伴,剛畢業(yè)或者說剛上手沒多久,就覺得自己離架構(gòu)師非常近了。
這里也統(tǒng)一澄清一下,做技術(shù)的沒有個5年、8年的技術(shù)積累,你根本不可能有機(jī)會走到架構(gòu)師這個稱謂。在阿里有非常明確的技術(shù)定義,p6為技術(shù)主管,p7為技術(shù)專家,p8才是架構(gòu)師,大部分能走到p7就算不錯了,以為p7就是架構(gòu)師,其實p7到p8還有很長的一段路。
阿里P6-P8的技術(shù)定義以及需要掌握的知識點,我在之前的文章里有給出詳細(xì)的excel表格。
架構(gòu)需要掌握的技術(shù)知識點,我在史上最全架構(gòu)技能圖譜里有非常詳細(xì)的說明。下圖已經(jīng)給到了六大知識體系,我用WEB開發(fā)做例子。
熟練使用各種數(shù)據(jù)結(jié)構(gòu)和算法,數(shù)組、哈希、鏈表、排序樹…,熟練使用linux操作系統(tǒng),必備,沒什么好說的 。
熟悉tcp協(xié)議,創(chuàng)建連接三次握手和斷開連接四次握手的整個過程,不了解的話,無法對高并發(fā)網(wǎng)絡(luò)應(yīng)用做優(yōu)化; 熟悉http協(xié)議,尤其是http頭,我發(fā)現(xiàn)好多工作五年以上的都弄不清session和cookie的生命周期以及它們之間的關(guān)聯(lián)。
系統(tǒng)集群、負(fù)載均衡、反向代理、動靜分離,網(wǎng)站靜態(tài)化 。
分布式存儲系統(tǒng)nfs,fastdfs,tfs,Hadoop了解他們的優(yōu)缺點,適用場景 。
分布式緩存技術(shù)memcached,redis,提高系統(tǒng)性能必備,一致性hash算法 。
工具nginx必備技能超級好用,高性能,基本不會掛掉的服務(wù)器,功能多多,解決各種問題。
數(shù)據(jù)庫的設(shè)計能力,mysql必備,最基礎(chǔ)的數(shù)據(jù)庫工具,免費(fèi)好用,對它基本的參數(shù)優(yōu)化,慢查詢?nèi)罩痉治?#xff0c;主從復(fù)制的配置,至少要成為半個mysql dba。其他nosql數(shù)據(jù)庫如mongodb。
還有隊列中間件。如消息推送,可以先把消息寫入數(shù)據(jù)庫,推送放隊列服務(wù)器上,由推送服務(wù)器去隊列獲取處理,這樣就可以將消息放數(shù)據(jù)庫和隊列里后直接給用戶反饋,推送過程則由推送服務(wù)器和隊列服務(wù)器完成,好處異步處理、緩解服務(wù)器壓力,解藕系統(tǒng)等。
更多架構(gòu)內(nèi)容以及知識點,也可以加入java進(jìn)階群:629511325
這些知識點,我可以這樣講,基本你都需要掌握,只是掌握的深度的問題,哪些知識點需要熟悉,哪些是精通,阿里P6-P8的excel表格我已經(jīng)做了很清晰的劃分,一般、熟悉、精通根據(jù)級別來劃分定義。
上面這些都是純技術(shù)的角度來看架構(gòu)師,做到了也基本算合格,還有一個維度的定義,就是前瞻性,這個話題我以后會陸續(xù)補(bǔ)充完整。
什么樣的架構(gòu)師最值錢,坦率的講,經(jīng)歷過淘寶早期比如五彩石項目的這些人,他們是見證過淘寶從單個系統(tǒng)到分布式業(yè)務(wù)場景的一批人,知道怎樣配合業(yè)務(wù),知道有哪些拆分技術(shù)的坑,知道拆后最致命的問題等等,隨著時間的推移和自己的悟性,更加深知到技術(shù)配合業(yè)務(wù)的重要性,那就不得不提到架構(gòu)前瞻性這個話題。
如果你對程序員、架構(gòu)師、技術(shù)經(jīng)理等IT人進(jìn)階比較感興趣,可以查看優(yōu)知學(xué)院官網(wǎng)查看干貨文章。
你可能也喜歡:
總結(jié)
以上是生活随笔為你收集整理的要成为一个 Java 架构师得学习哪些知识以及方法?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java多线程系列(七):并发容器的原理
- 下一篇: java美元兑换,(Java实现) 美元