1. 程式人生 > >Java程式設計師最全面的學習路線圖

Java程式設計師最全面的學習路線圖

寫給Java程式設計師學習路線圖

如下是我做開發這幾年經常使用一些技術和工具,當然這些技術也都是需要加強的(有些是我一直使用的,不過不深入,有些內部的原理等等不是很清楚)

前端部分:

1)HTML:網頁的核心語言,構成網頁的基礎

2)CSS:使網頁更加豐富多彩燦爛的利器

3)JavaScript:使網頁動起來的根本,加強了網頁和使用者之間的互動

4)HTML DOM:換一種更加形象化的角度來看待網頁,讓我們更加方便的控制網頁

5)HTML BOM:與瀏覽器互動不可或缺的工具

6)JavaScript庫,主要是:jQuery及其外掛、YUI及其外掛,使編寫網頁更加的方便快捷和健壯的強大工具

7)AJAX:非同步提交,增強了使用者使用網頁的良好互動體驗

8)JSON:比 XML更小、更快,更易解析的資料傳輸工具

9)FLEX:提供豐富多彩的動畫效果

10)普元工作流:更加清晰明瞭的幫助使用者處理業務流程上面的工作

11)JSP:Servlet的展示層,使網頁邏輯與網頁設計的顯示分離

12)JSTL:加強和簡化了JSP頁面的開發

13)EL:使JSP頁面寫起來更加簡單

後臺部分:

1)JAVA語言程式設計基礎部分:內容豐富是Java知識體系結構的核心和基礎

2)JDBC:提供了一種基準,據此可以構建更高階的工具和介面,使Java開發人員能夠編寫資料庫應用程式

3)JavaMail:用於電子郵件的相關的程式設計工作

4)JUnit:單元測試,整個變成工作測試的地位始終非常重要

5)Log4j:使我們能夠更加細緻地控制日誌的生成過程

6)Servlet:JavaWeb的核心

7)Struts2:JavaWeb程式設計中明星級的框架,優點多功能強使程式設計工作更簡單,主要用於控制跳轉

8)Spring:JavaWeb程式設計中明星級的框架,同樣優點多功能強使程式設計工作更簡單,主要用於管理物件

9)myBatis:JavaWeb程式設計中明星級的框架,同樣也是優點多功能強使程式設計工作更簡單,主要用於程式和資料庫之間的互動

10)SQL:與資料庫互動式程式設計的必備工具

版本控制:

1)SVN:版本控制,方便團隊協同工作(分散式管理)

2)GIT:版本控制,方便團隊協同工作(集中式管理)

WEB伺服器:

1)Tomcat:優秀免費的中小型WEB伺服器

2)Weblogic:功能很強大的WEB伺服器

開發工具:

1)Eclipse:開源強大的Java程式設計工具

2)MyEclipse:在eclipse基礎上加上自己的外掛開發而成的功能強大的企業級整合開發環境

資料庫:

1)Oracle:資料庫業界老大,這個常用一點當然,也僅僅是常用一些常用的功能而已,需要加強。是收費使用的

2)MySQL:最好的關係型資料庫之一

3)SqlServer:最好的關係型資料庫之一

資料庫客戶端:

1)Navicat Premium:非常棒的資料庫客戶端軟體

作業系統:

1)Windows

2)Linux

遠端登入的會話工具:

1)SecureCRT:一直在用,非常不錯(用sz,rz上傳下載)

其他:

各種種類和版本的瀏覽器(推薦使用FireFox)、office辦公軟體系列、各種文字編輯器(推薦Sublime)、各種閱讀器等等

回頭看,針對開發工作自己使用過的東西還是不少的,不過每一樣都稱不上是精通的,僅僅是常常使用,使用那些常用的功能,我在這裡記錄下來就是要一個個補上來,當然,肯定也需要不斷的學習其它一些新的技術和工具的!是對自己的一個督促吧!指明瞭自己努力的方向!

下面是從網上找的三幅圖片,比較好的說明了作為一個Java程式設計師的學習路線圖,我放在這裡作為一種自我提醒的工具,不時看看,並且會趕緊修補自己的知識樹!

1:Java的知識體系結構


2:JavaWeb開發的基本學習路線圖


3:JavaWeb開發的成長路線圖


第一部分:Java高階學習課程大綱

1:工程化專題

我們的工程化專題有五大內容:(1):Maven (2):Nexus。 (3):jenkins 。 (4):程式碼審查。 (5):Git/SVN 。

一共耗時一個月


2:原始碼分析專題

原始碼分析有三大內容: (1):spring的原始碼分析,裡面包括FactoryBean和MVC和事務處理與Spring原始碼中設計模式分析 。 (2):持久層 。 (3):企業級開發前瞻。 一共耗時2個月


3:高併發與高效能

高併發與高效能有四大內容: (1):併發程式設計, 裡面又包含有執行緒安全和NIO和AIO 。 (2):非同步通訊,裡面包含有本地佇列和訊息中介軟體。 (3):分散式協調技術,裡面包含有Zookeeper和服務鎖 。 (4):NoSqI: 裡面包含有 MongoDB和Redis和Memcached 。

一共耗時2個月




4:高可用性與可擴充套件

高可用性與可擴充套件有兩大內容: (1):分散式架構介紹,裡面有導流技術和服務設計和儲存設計。(2):服務呼叫,裡面包含有WebService和Dubbo。 一共耗時2個月


5:效能優化

效能優化有四大內容:(1):優化技巧,如何尋找效能瓶頸 (2):JVM優化 (3):資料庫優化 (4):伺服器優化

一共耗時2個月


上面這五大專題,是幾位工作經驗十多年的大牛,根據自己往年的工作經驗與經歷,在根據現在科技發展的實際情況,歷經幾個月的時間編寫而成,換句話說,上面的五大專題,也就是他們這十幾年精華總結,現在,你只要按照上面的課題學習,只需要花費掉你七個月多的時間,你就能夠學會與理解幾位大牛十多年總結出來的精華。你說,你能學完這些,你還怕公司老總不給你漲工資和升職位麼?

第二部分:階段性的學習

學什麼東西都一樣,我相信大家也是一樣,在學東西的時候,大家總會安排好自己階段性的學習,這樣才能有效的提升自己與有效的理解和認知所學的知識。合理安排好,才能起到事半功倍的效果。

階段一:



階段二:



階段三:



階段四:



階段五:

好了同學們,我能介紹的也都全部介紹完給你們了,以上這兩大部分就是我想說的內容,如果你也想在IT行業拿高薪,可以參加我們的訓練營課程,選擇最適合自己的課程學習,技術大牛親授,7個月後,進入名企拿高薪。我們的課程內容有:Java工程化、高效能及分散式、高效能、深入淺出。高架構。效能調優、Spring,MyBatis,Netty原始碼分析和大資料等多個知識點。如果你想拿高薪的,想學習的,想就業前景好的,想跟別人競爭能取得優勢的,想進阿里面試但擔心面試不過的,你都可以來,群號為:575745314
注:加群要求

1、具有1-5工作經驗的,面對目前流行的技術不知從何下手,需要突破技術瓶頸的可以加。

2、在公司待久了,過得很安逸,但跳槽時面試碰壁。需要在短時間內進修、跳槽拿高薪的可以加。

3、如果沒有工作經驗,但基礎非常紮實,對java工作機制,常用設計思想,常用java開發框架掌握熟練的,可以加。

4、覺得自己很牛B,一般需求都能搞定。但是所學的知識點沒有系統化,很難在技術領域繼續突破的可以加。

5.阿里Java高階大牛直播講解知識點,分享知識,多年工作經驗的梳理和總結,帶著大家全面、科學地建立自己的技術體系和技術認知!

6.小號或者小白之類加群一律不給過,謝謝。

目標已經有了,下面就看行動了!把專業當作工具,當作藝術去認識世界!

注:本文屬於原創,如有雷同,純屬運氣好!