Java學習路線從入門到入土
Java學習路線從入門到入土
簡介
一門永不過時的程式語言——Java 程式設計開發。Java程式語言佔比:據官方資料統計,在全球程式語言工程師的數量上,Java程式語言以900萬的程式設計師數量位居首位。 而且很多軟體的開發都離不開Java程式設計,因此其程式設計師的數量最多。而在以Java程式設計為核心的開發領域中,javaEE程式設計師的需求量10年來一直居於首位!Java工程師人才缺口:根據IDC的統計數字:就2017年來說,我國Java人才的缺口已達42.5萬,並且以每年20%左右 的速度增長。在未來5年內,合格軟體人才的需求將遠大於供給。Java工程師就業:1.透過各大招聘網站統計,全國海量公司都在招聘Java開發工程師2.北京Java開發工程師平均薪資,即18530元3.全國Java開發薪資前三:北京 上海 廣州
Java基礎課程
Java基礎課程內容涉及:Java開發介紹、Java陣列、Java物件導向、常用基礎類、集合、IO流、多執行緒、異常、網路、反射。
END
第一階段
第一部分:Java開發介紹
-
DOS常用命令
-
JVM、JRE、JDK之間的關係
-
Java開發環境的搭建:安裝JDK,配置環境變數
-
Java入門程式(Java的開發流程)
-
Java的註釋,識別符號、識別符號的命名規範
-
Java基本資料型別
-
變數和常量的定義及初始化
-
Java的運算子
-
運算子的優先順序
-
Java分支語句之if…else
-
迴圈的巢狀
-
方法的定義
-
方法的形參和實參
-
方法的壓棧
-
方法的遞迴呼叫
第二部分:Java陣列
- Java 陣列的定義
- Java 陣列的宣告
- 陣列的優勢與侷限
- 陣列的動態初始化
- 陣列的儲存特點(堆和棧)
- 陣列的遍歷訪問(普通迴圈,增強for迴圈)
- 陣列元素的順序查詢
- 陣列元素的二分法查詢
- 陣列元素的選擇排序
- 陣列元素的冒泡法排序
- Arrays工具類的使用
- 二維陣列的介紹
- 二維陣列的宣告與初始化
- 二維陣列的遍歷
- 二維陣列的使用
第三部分:Java物件導向
- 物件導向設計思想
- 物件導向的分析與設計
- Java與物件導向
- 類中成員變數的定義與意義
- 構造方法的定義和呼叫
- 物件導向的封裝特性
- 區域性變數和成員變數的作用域問題
- 靜態屬性、靜態方法、靜態程式碼塊
- 物件導向的繼承特性
- 繼承中構造方法的細節
- 物件導向的多型特性
- 抽象方法與抽象類
- 介面的介紹
- 透過內部類製作效能檢測工具
- Java的記憶體分析
第四部分:常用基礎類
- 列舉型別介紹
- 列舉的定義
- 結合switch-case使用列舉
- String字串
- 字串緩衝區StringBuffer和StringBuilder
- 字串與緩衝區的區別
- 基本型別的包裝型別
- Date類的使用
- SimpleDateFormat類的使用
- Math類的使用
- Random類的使用
- Runtime類的使用
- System 類的使用
- Calendar類的使用
- Java8新特性
第五部分:集合
- 集合的概念和作用
- 集合和陣列的區別
- 集合框架體系介紹
- 集合框架之Collection介面
- 泛型的使用
- ArrayList和LinkedList的方法使用
- ArrayList和LinkedList各自的工作原理分析原理分析
- Vector和Stack使用介紹
- 使用多種方式遍歷集合
- 迭代器的使用和工作原理
- HashSet和LinkedHashSet各自的工作原理分析
- 集合框架之Map介面
- TreeMap的方法使用和排序方式
- 分析Set和Map之間的區別與聯絡
- Collections工具類的使用
第六部分:IO流
- File類的作用
- File類中常用方法的使用介紹
- 使用File類操作檔案和資料夾
- 相對路徑和絕對路徑的介紹
- IO流的概念和工作原理
- IO流的分類
- 檔案流的使用
- 轉換流的使用
- 緩衝流的使用
- 物件流的使用
- 記憶體流的使用
- 使用不同的流實現檔案內容的複製
- RandomAccessFile類的使用
- Properties類的使用
- 裝飾者設計模式
第七部分:多執行緒
- 程式和執行緒的介紹
- 程式和執行緒之間的區別與聯絡
- 執行緒實現方式之繼承自Thread類
- 執行緒實現方式之實現Runnable介面
- 執行緒實現方式之執行緒池
- 執行緒的生命週期
- 執行緒中常用方法的使用
- 多執行緒中的臨界資源問題分析
- 解決臨界資源問題之同步程式碼塊
- 解決臨界資源問題之同步方法
- 解決臨界資源問題之ReentrantLock
- 多執行緒講解和理解
- 多執行緒在單例中的應用
- 死鎖介紹以及案例演示
- 生產者與消費者設計模式
第八部分:異常
- 異常的概念
- 異常的分類
- 異常的理解
- 常見異常介紹
- 執行時異常
- 編譯時異常
- 執行和編譯異常區別
- 異常的處理方式之捕獲異常
- 異常的處理方式之丟擲異常
- 異常的處理方式之斷點除錯
- 斷點除錯之引導執行步驟
- 自定義異常
- 異常關鍵字處理
- 關鍵字執行流程
- 異常總結
第九部分:網路
- 計算機網路和網路程式設計
- 網路程式設計與網頁程式設計的區別
- IP地址和埠號的介紹
- 網路通訊協議的介紹
- InetAddress類的方法使用
- Socket通訊模型的介紹
- 使用UDP實現資料的傳送和接收
- 使用TCP實現資料的傳送和接收
- 使用TCP實現檔案的上傳和下載
- 使用TCP實現多人聊天
- URL和URLConnection使用介紹
- URLEncoder和URLDecoder的使用介紹
- 基於HTTP協議訪問網路資源
- Json解析
- 基於HTTP協議實現網路檔案的下載
第十部分:反射
-
反射機制的概念
-
反射機制的作用
-
反射機制的理解
-
Class類的使用
-
Class檔案獲取的三種方式
-
獲取Constructor物件
-
獲取私有Constructor物件
-
獲取Method物件
-
獲取私有Method物件
-
Constructor的使用
-
Method類的使用
-
Field類的使用
-
Modifier類的介紹
-
反射使用練習
-
反射機制在工廠設計模式中的應用
END
JavaWeb課程
第二階段
內容
- HTML5課程
- CSS3
- JavaScript
- MySQL使用
- JDBC連線池
- Servlet
- JSP
- AJAX
- jQuery
- Bootstrap
第一部分:HTML5
- html概述
- html基本標籤
- 圖片標籤
- 超連結標籤
- 表格標籤
- 無序列表標籤
- 有序列表標籤
- 定義列表標籤
- div標籤
- 語義化標籤
- 表單標籤
- 語義化表單元素
- 框架標籤
- 特殊字元
- 綜合案例
第二部分:CSS3
- CSS3簡介和用途
- CSS3書寫規範
- CSS3基本語法
- CSS3三種使用方式
- 標籤選擇器
- Id選擇器
- Class選擇器
- 屬性選擇器
- 層次選擇器
- 文字、文字屬性
- 背景、列表屬性
- 尺寸、顯示、輪廓屬性
- 浮動、定位屬性
- 盒子模型
- CSS3高階屬性
第三部分:JavaScript
- JavaScript概述
- JavaScript發展史
- JavaScript組成
- 資料型別
- 運算子
- 分支語句
- 迴圈語句
- 系統函式、自定義函式、匿名函式
- 常見事件
- 陣列、字串、日期物件
- 正規表示式
- BOM物件:window、history、location
- DOM概念
- DOM操作:建立、修改內容、刪除
- Css樣式操作
第四部分:MySQL使用
- 資料庫簡介
- MySQL的安裝與使用
- MySQL客戶端和伺服器配置
- 使用者許可權管理
- DDL建立資料庫和表
- 約束與外來鍵
- DML實現新增、修改、刪除資料
- 聚合函式、日期函式等
- DQL簡單查詢
- 排序、分組、篩選
- 多表查詢
- 子查詢
- in和exists關鍵字
- 分頁查詢
- Mysql SQL語句最佳化介紹
第五部分:JDBC連線池
- JDBC概述
- JDBC使用步驟
- Connection、Statement、ResultSet介面
- 使用JDBC 完成資料庫DML操作
- PreparedStatement物件
- 大資料的操作
- 批次處理與後設資料
- 事務處理
- 隔離級別
- 自定義連線池
- DBCP、C3p0連線池
- DBUtis工具類
- QueryRunner
- 自定義結果集處理
- 連線池知識總結
第六部分:Servlet
- Tomcat與Eclipse的整合開發
- 什麼是Servlet
- Servlet的進化史
- Servlet的最佳化過程
- Servlet中應用的多執行緒概念
- Servlet接收客戶端請求資訊
- Servlet響應客戶端資訊
- Servlet的生命週期
- 重定向寫法
- 轉發寫法
- 轉發和重定向區別
- HttpServletRequest獲取中文亂碼問題
- HttpServletResponse響應中文亂碼問題
- Servlet路徑對映問題
- Servlet多路徑對映
第七部分:JSP
- 什麼是JSP
- JSP的內建物件**(9?)**
- 透析JSP的本質
- JSTL+EL
- MVC介紹
- 分層的重要性
- Web工程中事務實現
- Session的使用
- Cookie的使用
- web工程中連線池的使用
- 實現使用者的自動登入
- 檔案的上傳、下載
- 過濾器、 監聽器
- 反射、註解、泛型
- 綜合案例練習
第八部分:AJAX
- Ajax技術背景
- Ajax技術的理解
- XMLHttpRequest使用步驟
- XMLHttpRequest GET/POST的區別
- 同步請求&非同步請求
- 同步請求&非同步請求的區別
- Ajax獲取不同的返回值型別
- Ajax使用原生JavaScript和Jquery的區別
- Ajax響應狀態處理
- JSON語法
- Java JSON 解析
- Java JSON 生成
- Java JSON 第三方工具快速解析
- JavaScript JSON轉換
- Jquery JSON轉換
第九部分:jQuery
- jQuery介紹
- jQuery版本介紹
- jQuery物件和原生js物件介紹
- jQuery物件和原生js物件互相轉化
- jQuery快速入門
- jQuery語法詳解
- jQuery核心函式
- jQuery onload處理
- jQuery選擇器
- jQuery 文件處理
- jQuery事件
- jQuery遍歷操作
- jQuery自定義函式
- jQuery動畫效果
- jQueryAJAX操作
第十部分:Bootstrap
-
Bootstrap介紹
-
Bootstrap開發環境搭建
-
Bootstrap的基本模板
-
Bootstrap快速入門
-
Bootstrap組成
-
柵格系統
-
利用柵格系統進行移動端頁面適配
-
Bootstrap全域性Css樣式
-
Bootstrap修改原Css樣式進行自定義
-
Bootstrap的js元件
-
Bootstrap的js元件樣式修改
-
整合Bootstrapjs外掛之導航條
-
整合Bootstrapjs外掛之輪播圖
-
整合Bootstrapjs外掛之彈出框
-
Bootstrap進行專案整合
END
Java框架課程
第三階段
Java框架課程內容
- Maven
- Hibernate
- Spring
- Spring MVC
- MyBatis
- WebService
- SVN
- Activiti
第一部分:Maven
- Maven環境搭建
- Maven構建專案
- Maven本地倉庫配置
- Maven中央倉庫配置
- Maven基本概念
- Maven基本命令介紹
- Maven於Eclipse整合
- Maven於Idea整合
- Maven建立web工程
- pom.xml、依賴管理
- 座標、依賴、生命週期等
- Eclipse下的Maven使用
- Maven中 繼承、聚合
- Maven構建SSH/SSM應用
- 自動部署、持續整合、持續部署
第二部分:Hibernate
- Hibernate框架介紹
- Hibernate於其他框架和DBUtil工具類對比
- ORM思想
- Hibernate
- 與JPA關係介紹
- Hibernate.cfg.xml配置
- hbm.xml對映檔案詳解
- 主鍵生成策略 PO物件三種狀態分析與切換
- Hibernate5一級快取分析與測試
- Hibernate5高階對映技術
- 一對多對映
- 多對多對映
- Hibernate5多表聯合查詢
- Hibernate5延遲載入
- Hibernate5載入策略
- 二級快取
第三部分:Spring
- 框架原理介紹
- 框架環境搭建
- 快速入門
- 建立Bean的方式及實現原理
- Bean種類
- Bean生命週期
- Bean的作用域
- Bean的注值方式
- SpEL
- 整合Junit測試
- Web專案整合Spring
- 註解裝配Bean
- AOP思想、原理解剖
- 傳統方式實現AOP開發
- AspectJ介紹及實現AOP開發
第四部分:Spring MVC
- Spring MVC 概述
- 使用 @RequestMapping對映請求
- 請求處理方法簽名概述
- 處理方法簽名詳細說明
- 使用 HttpMessageConverter
- 處理模型資料
- 資料繫結流程剖析
- 資料格式化
- 資料校驗
- 檢視和檢視解析器
- 處理方法的資料繫結
- 檢視和檢視解析器
- 檔案上傳下載
- JSON處理
- 攔截器
第五部分:MyBatis
- MyBatis資料框架介紹
- MyBatis對比Hibernate框架
- MyBatis配置、查詢資料
- MyBatis全域性配置檔案
- MyBatis全域性配置檔案元素詳細介紹
- Mapper對映檔案
- MyBatis兩種開發方式
- MyBatis中別名配置
- MyBatis # 和 $ 拼接引數區別( 防止SQL隱碼攻擊)
- 關聯查詢,動態sql
- MyBatis快取機制、整合ehcache
- MyBatis二級快取處理
- MyBatis、Spring、SpringMVC整合
- 分頁外掛
- MyBatis逆向工程
* 第六部分:WebService
- WebService簡介
- WebService主流框架
- SOAP協議
- WSDL講解
- JAX-WS
- WebService與Spring整合
- JAXB
- JAX-RS
- WebService各種呼叫方式
- cxf的介紹
- cxf+jaxws基本
- cxf+jaxws+spring
- cxf+JAX-RS基本
- cxf+JAX-RS+spring
- 綜合案例
* 第七部分:SVN1
- SVN簡介
- SVN和Git對比
- SVN伺服器搭建
- SVN建立倉庫
- SVN建立使用者以及分配許可權
- SVN簽出、提交、更新
- Eclipse整合svn外掛
- Idea整合svn外掛
- 使用SVN更新提交
- SVN倉庫分析
- SVN協同修改&衝突解決
- SVN程式碼整合注意事項
- SVN許可權管理
- SVN資料回滾
- TortoiseSVN
* 第八部分:Activiti
-
工作流介紹
-
工作流引擎
-
工作流使用步驟
-
BPMN2.0規範
-
Activiti5框架表結構
-
Activiti5核心元件&服務介面
-
Activiti5外掛安裝&整合Spring
-
流程定義
-
流程例項、任務、歷史
-
任務領取、流程變數
-
排他閘道器、並行閘道器
-
流程事件
-
流程控制
-
監聽器
-
簡單整合shiro
END
Java + 雲資料課程
第四階段
Java + 雲資料課程主要涉及的內容:
- Linux
- FastDFS
- MySQL最佳化
- Nginx反向代理
- Quartz 作業排程
- Redis 高效能(Key-Value)資料庫
- Shiro 安全(許可權)框架
- Lucene&Solr全文檢索
- Zookeeper 分散式系統
- MyCAT 大資料叢集
- Dubbo實現分散式架構
- ActiveMQ 訊息佇列
- 分散式事務和單點登入
- 分散式框架原理(採用影片資料教學)
- 基於SpringMVC的整合單元測試MockMVC
- SpringBoot 快速構建JavaEE專案
第一部分:Linux版本
- Linux簡介和安裝
- Linux和Windows的區別
- Linux遠端登入
- Linux常用命令
- Linux檔案管理
- Linux使用者管理
- Linux使用者組管理
- Linux磁碟管理
- Linux系統管理
- Linux常用檔案
- Linux JDK安裝
- Linux Tomcat安裝
- Linux MySQL安裝
第二部分:FastDFS
- FastDFS簡介
- FastDFS單節點安裝
- FastDFS Tracker和Storage節點操作
- FastDFS 配置Tracker伺服器
- FastDFS 配置Storage伺服器
- FastDFS JavaClient端 檔案上傳
- FastDFS JavaClient端 檔案下載
第三部分:MySQL最佳化
- 最佳化資料訪問
- 重構查詢的方式
- 查詢快取
- 切分查詢
- MySQL索引
- MySQL鎖
- MySQL執行計劃
- MySQL儲存引擎
- Schema與資料型別最佳化
第四部分:Nginx反向代理
- Nginx反向代理介紹
- Nginx 下載和安裝
- Nginx 編譯和啟動、訪問
- 在Linux下搭建Nginx叢集
- 在Windows搭建Nginx叢集
- 解決Session共享問題
第五部分:Quartz 作業排程
- Quartz作業排程簡介
- Quartz作業排程執行以及永續性
- Quartz基本使用
- Quartz核心類講解
- Quartz Trigger 觸發器
- Quartz Job&JobDetail
- Quartz Calendars日曆講解
- JobListener監聽器和TriggerListener監聽器
- Spring整合Quartz
第六部分:Redis 高效能(Key-Value)資料庫
- NoSQL 發展史簡介
- Redis 簡介
- Redis 安裝以及除錯
- Redis 常用指令
- Redis 高階使用(主從複製、哨兵模式、持久化機制)
- Jedis的基本使用
- SSM框架基於Redis實現快取
- Redis 連線單機版
- Redis 連線單機版使用連線池
- 封裝和整合Spring
- Redis 叢集搭建
第七部分:Shiro 安全(許可權)框架
- Shiro功能簡介
- Shiro框架介紹
- ShiroFilter工作原理
- Shiro 身份認證
- Shiro Realm以及Authenticator
- Shiro攔截器和Permissions(授權)
- Shiro 自定義攔截器
- Shiro Session會話
- Shiro RememberMe功能
- SSM整合Shiro綜合許可權選單
第八部分:Lucene&Solr全文檢索
- Lucene 搜尋引擎介紹
- Lucene 中文分詞器配置
- Lucene 索引的維護包括建立、刪除、修改操作
- Lucene Query 各種查詢方法
- Lucene 高亮顯示
- Lucene Facet分面檢索
- Solr簡介
- Solr 安裝和配置
- Solr 索引庫管理
- 什麼是SolrCloud
- Solr叢集的系統架構
- 將搜尋功能切換到叢集版
第九部分:Zookeeper 分散式系統
- Zookeeper 簡介
- Zookeeper 特點
- Zookeeper 安裝和配置
- Zookeeper資料型別
- Zookeeper服務中操作
- Zookeeper Wacth觸發器
- Zookeeper分散式應用
第十部分:MyCAT 大資料叢集
- MyCat 簡介
- MyCat的下載和安裝
- MyCat分片配置
- MyCat分片使用和測試
- MyCat讀寫分離
- MyCat 實現從MySQL主從複製
第十一部分:Dubbo實現分散式架構
- Dubbo簡介
- 單一應用框架
- 垂直應用框架
- 分散式應用框架
- 流動計算機架構
- Dubbo 能做什麼
- Dubbo 實現原理
- Dubbo 分散式叢集模型
- Dubbo管理控制檯安裝
- Dubbo 整合 SSM
第十二部分:ActiveMQ 訊息佇列
- ActiveMQ簡介
- JMS簡介
- MQ 訊息中介軟體
- ActiveMQ 安裝和使用
- ActiveMQ 訊息過濾
- ActiveMQ 訊息釋出和訂閱模式
- ActiveMQ訊息持久化
- ActiveMQ與Spring 整合
第十三部分:分散式事務和單點登入
- 階段提交協議講解
- 使用訊息佇列來避免分散式事務
- 如何可靠儲存憑證
- 業務與訊息解耦方式
- 如何解決訊息重複投遞的問題
- 什麼是單點登入
- 單點登入技術的實現機制
第十四部分:分散式框架原理(採用影片資料教學)
- 傳統垂直mvc專案
- 垂直架構的缺點
- RPC架構
- RPC架構的核心技術點
- RPC架構的問題
- SOA服務化架構
- 框架設計原理
- 框架效能、可靠性、功能
- 協議棧(通訊模型、協議訊息定義、安全性設計)
- 服務路由
- 叢集容錯
第十五部分:基於SpringMVC的整合單元測試MockMVC
- Mock測試框架的介紹
- SpringMVC Mock 配置的步驟
- 基於SpringMVC單元測試實戰案例
- 基於SpringMVC+JPA單元測試實戰案例
第十六部分:SpringBoot 快速構建JavaEE專案
- 基於SpringBoot 的thymeleaf 模板引擎
- 基於SpringBoot 多模組實戰開發
- 基於SpringBoot 檔案上傳
- 基於SpringBoot Data Solr搜尋引擎開發
- 基於SpringBoot Email郵件傳送
- 基於SpringBoot 的Redis實戰開發
- 基於SpringBoot 的WebSocket實戰開發
- 基於SpringBoot 的ActiveMQ訊息佇列END
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30239065/viewspace-2722769/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Java 從入門到高階學習路線Java
- 從入門到精通,Java學習路線導航Java
- Jdbc從入門到入土JDBC
- SA:從入門到入土
- Java從入門到精通的學習路線你知道嗎?Java
- 幀數,從入門到入土
- Java學習福利,入門到精通學習路線分享Java
- php從入門到精通的學習路線分享PHP
- Java學習路線·入門Java
- Java學習從入門到精通Java
- GIT從入門到入土(IDEA整合)GitIdea
- JavaWeb從入門到入土第10天JavaWeb
- Java新手入門學習路線圖Java
- Java學習從入門到精通[原創]Java
- Java學習從入門到精通(3)(轉)Java
- Java學習從入門到精通(2)(轉)Java
- 真正的Java學習從入門到精通Java
- Java學習從入門到精通的學習建議Java
- QT從入門到入土(四)——多執行緒QT執行緒
- HTTP從入門到入土(5)——HTTP報文格式HTTP
- 新手學習Java,如何快速從入門到精通!Java
- 真正的Java學習從入門到精通(轉)Java
- 2018大資料學習路線從入門到精通大資料
- 【資料彙總】GNN從入門到入土+文獻閱讀入門GNN
- 2018最新大資料學習路線從入門到精通大資料
- QT從入門到入土(三)——訊號和槽機制QT
- QT從入門到入土(三)——檔案的讀寫操作QT
- QT從入門到入土(八)——專案打包和釋出QT
- JS正規表示式從入門到入土(5)—— 量詞JS
- 超詳細的程式設計師Java學習路線指南 ,從入門到精通 不看後悔程式設計師Java
- 好程式設計師分享Python從入門到精通最佳學習路線程式設計師Python
- Linux學習路線圖(從入門到上崗,帶自學路線圖)Linux
- QT從入門到入土(九)——TCP/IP網路通訊(以及檔案傳輸)QTTCP
- Vue學習從入門到精通(一)Vue
- express從入門到**的學習旅程Express
- 【深度學習】--GAN從入門到初始深度學習
- QT從入門到入土(四)——多執行緒(QtConcurrent::run())QT執行緒
- JS正規表示式從入門到入土(10)—— 字串物件方法JS字串物件