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.小號或者小白之類加群一律不給過,謝謝。
目標已經有了,下面就看行動了!把專業當作工具,當作藝術去認識世界!
注:本文屬於原創,如有雷同,純屬運氣好!