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