Java架構(gòu)師的成長基本就是要將Java基礎(chǔ)完全掌握,從程序員成長到Java架構(gòu)師,深入的了解Java架構(gòu)的只是,多做一些架構(gòu)方面的項目,不斷給自己充電,提高自身的職場競爭力。
1.Java基礎(chǔ)技術(shù)體系掌握牢固:JVM內(nèi)存分配、垃圾回收、類裝載機(jī)制、JVM性能優(yōu)化、反射機(jī)制、多線程、網(wǎng)絡(luò)編程、常用數(shù)據(jù)結(jié)構(gòu)和相關(guān)算法。
2.對面向?qū)ο蟮能浖_發(fā)思想有清晰的認(rèn)識、熟悉掌握常用的設(shè)計模式:熟練使用UML工具以及各種流程圖;經(jīng)典的設(shè)計模式會手寫以及熟知使用場景;概要設(shè)計與詳細(xì)設(shè)計;面向?qū)ο蟮暮诵乃枷胄枰\用在代碼編程中,例如:高內(nèi)聚低耦合。
3.目前流行開源框架,除了熟練使用,還需要掌握核心原理和實現(xiàn)。Spring、Springmvc、MyBatis等等都是學(xué)習(xí)的重點,建議看源碼以及debug配合掌握實現(xiàn)原理。
4.熟悉Oracle、MySQL等SQL,以及MongoDB等NoSQL開發(fā)。特別是MySQL,相關(guān)的索引優(yōu)化、SQL查詢優(yōu)化、慢的事務(wù)優(yōu)化等,以及MySQL的分庫分表等也需要掌握。MongoDB等典型的NoSQL大數(shù)據(jù)場景設(shè)計。
5.CDN,以及分布式緩存系統(tǒng)Redis或Memcached的設(shè)計和研發(fā)。CDN與分布式緩存的設(shè)計原理其實是一致的,重點你需要掌握兩者之間的區(qū)別和使用場景。
6.熟悉底層中間件、分布式技術(shù)(包括緩存、消息系統(tǒng)、熱部署)、消息中間件:Kafka、ActiveMQ、RabbitMQ,工作流中間件:JBPM。分布式技術(shù)涉及范圍比較廣,例如相關(guān)的消息中間件就會涉及到3個以上,為什么要選擇Kafka或者RabbitMQ,選擇和比較需要掌握。除此之外,很多內(nèi)部系統(tǒng)還會涉及到JBPM工作流中間件等。
7.精通shell編程,熟練應(yīng)用awk、sed、grep、strace、tcudump、gdb等常用命令。
8.有大型分布式、高并發(fā)、高負(fù)載(大數(shù)據(jù)量)、高可用性系統(tǒng)設(shè)計開發(fā)經(jīng)驗。大型分布式就會設(shè)計到高并發(fā)解決方案,以下有相關(guān)的知識。
如果同學(xué)們還在猶豫不知道怎么學(xué)的話,可以看看長沙達(dá)內(nèi)教育的Java架構(gòu)師班,真正實現(xiàn)了課程Java從零基礎(chǔ)入門到架構(gòu)師全棧布局。長沙達(dá)內(nèi)教育專注Java11年,Java架構(gòu)師課程的不僅可以對長沙達(dá)內(nèi)教育學(xué)員就業(yè)后職業(yè)晉升有積極促進(jìn)作用,同時為廣大程序員提供一套系統(tǒng),全面的架構(gòu)師學(xué)習(xí)路線。