更新時間:2019-09-07 09:00:00 來源:動力節點 瀏覽2257次
學習一個新的技術時,其實不在于跟著某個教程敲出了幾行、幾百行代碼,這樣你最多只能知其然而不知其所以然,進步緩慢且深度有限,最重要的是一開始就對整個學習路線有宏觀、簡潔的認識,確定大的學習方向,這樣才能事半功倍。
我們經常會遇到這樣的情況:
一開始學習一門新技術的時候,面對著很多很多陌生的名詞,無從下手,一度想要放棄。
本文首先會給出關于Java后臺開發的一些建議學習路線,接著簡單解釋一些應用到的高頻技術,幫助大家理解和學習。
Java后臺開發知識一覽
1、后端
WEB服務器:Weblogic、Tomcat、WebSphere、JBoss、Jetty
核心框架:SpringFramework
分布式服務框架Dubbo
安全框架:ApacheShiro
視圖框架:SpringMVC
服務端驗證:Hibernate+Validator
布局框架:SiteMesh
工作流引擎:Activiti
任務調度:SpringTask+Quartz
持久層框架:MyBatis+MyBatis-Plus
數據庫連接池:AlibabaDruid
緩存框架:Ehcache、Redis
日志管理:SLF4J、Log4j
會話管理:Spring-Session
工具類:ApacheCommons、Jackson、Xstream、Dozer、POI
消息隊列:ActiveMQ
云存儲:阿里云OSS騰訊云COS七牛云
版本管理:git(推薦)svn
2.高頻技術
每個模塊的功能如下:
核心容器:核心容器提供Spring框架的基本功能。核心容器的主要組件是BeanFactory,它是工廠模式的實現。
Spring上下文:Spring上下文是一個配置文件,向Spring框架提供上下文信息。
SpringAOP:通過配置管理特性,SpringAOP模塊直接將面向方面的編程功能集成到了Spring框架中。
SpringDAO:JDBCDAO抽象層提供了有意義的異常層次結構,可用該結構來管理異常處理和不同數據庫供應商拋出的錯誤消息。異常層次結構簡化了錯誤處理。
SpringORM:Spring框架插入了若干個ORM框架,從而提供了ORM的對象關系工具,其中包括JDO、Hibernate和iBatisSQLMap。所有這些都遵從Spring的通用事務和DAO異常層次結構。
SpringWeb模塊:Web上下文模塊建立在應用程序上下文模塊之上,為基于Web的應用程序提供了上下文。所以,Spring框架支持與JakartaStruts的集成。
SpringMVC框架:MVC框架是一個全功能的構建Web應用程序的MVC實現。MVC容納了大量視圖技術,其中包括JSP、Velocity、Tiles、iText和POI。
**Mybatis**
MyBatis是支持定制化SQL、存儲過程以及高級映射的優秀的持久層框架。MyBatis避免了幾乎所有的JDBC代碼和手動設置參數以及獲取結果集。MyBatis可以對配置和原生Map使用簡單的XML或注解,將接口和Java的POJOs(PlainOldJavaObjects,普通的Java對象)映射成數據庫中的記錄。
Redis
Redis是完全開源免費的,遵守BSD協議,是一個高性能的key-value數據庫。
特點:
1.Redis支持數據的持久化,可以將內存中的數據保存在磁盤中,重啟的時候可以再次加載進行使用。
2.Redis不僅僅支持簡單的key-value類型的數據,同時還提供list,set,zset,hash等數據結構的存儲。
3.Redis支持數據的備份,即master-slave模式的數據備份。
Zookeeper
Zookeeper分布式服務框架是ApacheHadoop的一個子項目,它主要是用來解決分布式應用中經常遇到的一些數據管理問題,如:統一命名服務、狀態同步服務、集群管理、分布式應用配置項的管理等等。
DUBBO
DUBBO是一個分布式服務框架,致力于提供高性能和透明化的RPC遠程服務調用方案,是阿里巴巴SOA服務化治理方案的核心框架,每天為2,000+個服務提供3,000,000,000+次訪問量支持,并被廣泛應用于阿里巴巴集團的各成員站點。
一到五年經驗,應該怎么走,學習方向路線是什么,需要掌握什么技術呢?請看下方:
閱讀源碼
程序員每天都和代碼打交道。經過數年的基礎教育和職業培訓,大部分程序員都會「寫」代碼,或者至少會抄代碼和改代碼。但是,會讀代碼的并不在多數,會讀代碼又真正讀懂一些大項目的源碼的,少之又少。這也造成了很多錯誤看源碼的方式。
那要如何正確的分析源碼呢?
分布式架構
隨著我們的業務量越來越大和越重要,單體的架構模式已經無法對應大規模的應用場景,而且系統中決不能存在單點故障導致整體不可用,所以只有垂直或是水平拆分業務系統,使其形成一個分布式的架構,利用分布式架構來冗余系統消除單點的故障,從而提高整個系統的可用性。同時分布式系統的模塊重用度更高,速度更快,擴展性更高是大型的項目必不可少的環節。
微服務
關于微服務架構的取舍
1、在合適的項目,合適的團隊,采用微服務架構收益會大于成本。
2、微服務架構有很多吸引人的地方,但在擁抱微服務之前,也需要認清它所帶來的挑戰。
3、需要避免為了“微服務”而“微服務”。
4、微服務架構引入策略–對傳統企業而言,開始時可以考慮引入部分合適的微服務架構原則對已有系統進行改造或新建微服務應用,逐步探索及積累微服務架構經驗,而非全盤實施微服務架構。
性能優化
我們不僅僅對項目要運籌帷幄,還要能解決一切性能問題。只有深入學習JVM底層原理,Mysql底層優化以及Tomcat調優,才能達到知其然,知其所以然的效果。除了性能優化之外,也能提供通用的常見思路以及方案選型的考慮點,幫助大家培養在方案選型時的意識、思維以及做各種權衡的能力。
以上就是動力節點java培訓機構小編介紹的“專業Java學習路線腦圖,針對初學的進階規劃”的內容,希望能夠幫助到大家,更多java最新資訊請繼續關注動力節點java培訓機構官網。
相關閱讀
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習