我的JavaEE學習路線圖

學識都 人氣:3.03W

從學習Java開發到現在雖然也已經快三年了,但是要説到分享一下經驗實在是不敢當。權當是對自己的一個總結吧,希望大家不吝指教,互相交流。

我的JavaEE學習路線圖

照舊,還是現來整理一下我學習Java的一個路線圖吧,然後按照這個路線圖來談談我的一些感受。

一、Java核心

這是學習Java的基礎,掌握程度的深淺甚至直接影響後面的整個學習進程。Java的核心主要包括幾個部分:

1、初級的有語法基礎、面向對象思想。

學習任何一門語言語法都是必須的,因為Java的接近自然語言,也是一種相對比較容易學的語言。同時面向對象編程更是其核心思想,要理解其實只要記住一句話就行了,那就是:一切皆是對象。

2、中級的IO流、多線程、反射及註解等。

IO流程、多線程等是相對比較高級一點的了,通過學習我們會發現這些都很有用而且很有趣。例如我們可以讀取一個Excel文件、將一個文件分離,做一個時鐘、使用多個線程發送郵件等等很多有意思的事。另外反射及註解更是後面流行框架SSH等的基礎,在使用中你便會慢慢感受到它的無窮魅力。

3、高級一點的就是設計模式和框架之類了。

要學習好一門語言,僅僅會使用還是不夠的,我們不僅要深入研究其原理,而且還要找到其一些共性的東西,從而減少反覆的勞動,讓代碼可重用、更可靠且更容易被別人理解。

二、前端Web

現在來説Java最流行的應用還是Web開發。那麼作為Web開發,對於前台的知識的學習也是必須的,當然並不是一定要按照前端工程師的標準去要求。但是一些基礎的知識也是必須要掌握的,畢竟Web應用是前台和後台的一個交互的過程。像HTML、CSS、Javascript等都是基礎的知識,另外作為開發人員對目前最流行的Javascript框架Jquery更是必學不可的。

三、數據庫

有人説,所有的應用無非就是數據的輸入、處理到輸出的過程。期間同時可能還會涉及到數據的存儲問題。對於結構化的數據,我們常用的還是像Oracle、 Mysql和PostgreSQL之類的關係型數據庫。同時針對數據庫編程還是PL/SQL需要學習。使用Java訪問數據庫的話還有JDBC。那麼對於非結構化的數據以及大數據該如何處理呢?其實這裏也已經有了非常成熟的解決方案了,那便是Hadoop。就Hadoop而言他並不是一種思想,更多是一個實現了Mapreduce模式的框架。

四、J2EE

好了,前面這麼多準備的工作。下面我們進入正題。作為Java開發,CoreJava是核心,而作為JavaWeb開發,我認為Servlet才是核心。 Servlet是服務器端的Java應用程序,但是與普通的'Java應用程序不同的是,它是由web服務器來加載啟動,即我們常説的Servlet,如 Tomcat便是servlet容器。另外談到J2EE開發,這裏有一個重要的模型不得不提一下,很多人其實已經想到了,那便是MVC(模型-視圖-控制器)模型。在傳統的web開發中,往往是JavaBean充當模型、JSP做視圖而Servlet作為控制器。

五、框架

説到框架,其實已經提到了著名的MVC模型,SSH(Struts+Spring+Hibernate)就是一個非常好的實現。對於每一個框架的作用,我想就不用多説了,畢竟這裏並不是想寫一本教程。另外還有工作流開發的JBPM,搜索引擎Lucence及使系統對外提供接口的webservice應用組件等都是應該要掌握的。

六、服務器

關於服務器,像tomcat、jboss、weblogic及websphere等便不提了,因為太普遍了。這裏要説的是Nginx,

Nginx ("engine x") 是一個高性能的 HTTP 和 反向代理 服務器。其以佔有內存少,併發能力強而著稱,連新浪、網易、 騰訊這類知名企業也在使用,所以還有什麼理由不去學它呢?

七、工具

這裏主要介紹幾個開發輔助工具。如日誌工具Log4j、測試工具Junit、版本管理工具SVN還有項目管理maven等。

另外還有第三方插件Ectable。

八、項目示例

Springside是以Spring框架為核心的J2EE應用參考示例,是JavaEE中的比較主流的技術選型及最佳實踐的總結與演示,非常值得一看。把它看透了,J2EE就差不多了甚至是比較厲害的了。

九、話外話

其實説到底,對於技術的學習,有一個規則是通用的,那便是實踐。把學習到的東西馬上用起來做出一個示例來,我認為是一種比較好的學習方法。首先它是對零散知識的一個自然總結,另外通過一些小示例的實踐,可以增加學習的興趣。而且可以通過示例,深入學習其實現的原理,加深掌握的程度且能更快的應用到實際開發中,提高工作效率。