更新時間:2022-09-16 來源:黑馬程序員 瀏覽量:
Java架構(gòu)師,顧名思義,你的主流開發(fā)語言是Java。放寬了講,語言本身也不過是一種工具,只是用你最熟練的來解決問題而已。所以作為Java架構(gòu)師,Java語言不僅僅是應(yīng)用層面,Jvm底層的相關(guān)原理類,依然是需要去掌握的點。
開發(fā)框架
這是將架構(gòu)師的工作落地的直接手段。因為架構(gòu)的終極目標(biāo)是業(yè)務(wù)指標(biāo)。不能利于業(yè)務(wù)的進(jìn)展,架構(gòu)是沒有意義的。
而體現(xiàn)在業(yè)務(wù)上最簡單粗暴的就是開發(fā)框架。如果一個架構(gòu)師連基本的開發(fā)框架都吃不透,那就別談了。
中間件
依然是工具。各種中間件是輔助你完成業(yè)務(wù)架構(gòu)設(shè)計的橋梁。需要異步和消息那就得用消息隊列,需要緩存那就得用Redis。這都是老生常談的話題。然而,這里我要強(qiáng)調(diào)的是,作為架構(gòu)師對中間件的掌握不能停留在使用層面,要完全的掌控它。因為任何技術(shù)的引入你都要確保在它出現(xiàn)問題或者現(xiàn)有功能不滿足你的需求時,架構(gòu)師能夠第一時間來找到解決問題的辦法。另一方面是選型。設(shè)計當(dāng)前業(yè)務(wù)系統(tǒng),同一個功能點,可能有n種同類別的中間件來實現(xiàn)。那么選哪個最合適?這就需要你對主流中間件特性的一種把控。
解決方案
如果說上面是一堆的工具,那么你必須具備常見領(lǐng)域里的一些解決方案的積累。單點登錄、分布式事務(wù)、高并發(fā)秒殺、復(fù)雜工作流、支付系統(tǒng)設(shè)計……太多了。在開發(fā)和日常生活中勤積累,遇到合適的場景時積極去實踐和試錯。
架構(gòu)思維
作為架構(gòu)師,你必須具備一定的思維。在閱讀大師的源碼時,你會發(fā)現(xiàn)設(shè)計這套東西的人,思維真的不簡單。如果漸漸的找到這種感覺,說明你的思維在慢慢升華。當(dāng)遇到同類場景和問題時,你慢慢的就具備了自己解決問題的一些巧妙的思維,來指導(dǎo)你去分析和實戰(zhàn)。至于上面提到的一系列技術(shù),那屬于執(zhí)行層面的事情。想明白了問題確定好思路。到實施層面事情其實已經(jīng)搞定了一大半,選擇合適的工具解決它就可以了。
如何從Java工程師成長為架構(gòu)師?
可以說,架構(gòu)師幾乎都是從基本的工程師走過來的。注意我說的是幾乎。不排除那些生來在某些方面就具備某種特異功能的人,比如那些開源界的大神,那種人我們不討論。
那么還是說說我們凡人。作為一個Java工程師。在軟件一線領(lǐng)域里打磨了很多年。工作經(jīng)驗慢慢會得到積累。但是不知道你有沒有發(fā)現(xiàn),有工作10年的人,依然是個初中級開發(fā),這種兄弟離架構(gòu)師還遠(yuǎn)得很。
那就是說,不是所有的Java工程師只要年限夠了就可以自動升級為架構(gòu)師。
首先你得注重自己的積累和工作性質(zhì),干了10年天天干的是同一件事,從早到晚寫helloworld,寫到老也還是那個水平。所以這是第一點。
第二點,善于歸納總結(jié)、善于積累,轉(zhuǎn)化為自己的東西。有的人在崗位上本身可以接觸到很多的內(nèi)容,然而很多時候把它當(dāng)做一種累贅,恨不得解決完再也不想見到它??上Ь涂上г谶@種不關(guān)有沒有價值的用完就丟,并沒有勤于思考我做的這件事情,未來有沒有可以復(fù)用的價值。能不能在下次遇到時,可以協(xié)助我以更高的效率來解決問題。
第三點,主動邁出第一步。從Java工程師到架構(gòu)師,其實單從職位上說,Title還是欠著一個臺階的。那么這個臺階你要邁出去。從0到1,邁向架構(gòu)師的崗位,就像當(dāng)初你初做Java工程師一樣。先做了他再說,然后考慮以后發(fā)展的事情。
總之,對一個相對靈透的Java工程師來說,架構(gòu)師也不是個什么神秘的物種。