Java大數據課程體系
|
|||
階段名稱 |
主講內容 |
技術要點 |
學習目標 |
JavaSE階段 | 計算機基礎知識 | 1.計算機基礎;2.DOS常用命令;3.Java應用領域、發展歷程等基礎內容;4.JDK環境安裝配置;5.Java開發環境搭建;6.環境變量配置;7.Java入門程序 |
可掌握的核心能力: 1.能夠掌握DOS系統常用基本命令 2.熟練使用eclipse編寫java代碼 3.熟練使用java語言的常用對象 4.使用java編寫單機應用程序 5.掌握面向對象編程思想 6.掌握常用數據結構和算法 |
編程基礎內容 | 1.標識符命名規則;2.變量與常量;3.關鍵字;4.數據類型;5.運算符和表達式;6.流程控制語句;7.數組 | ||
面向對象(一) | 1.面向對象思想;2.類與對象;3.成員變量和局部變量;4.類的有參方法和無參方法;5.封裝;6.this關鍵字;7.構造方法;8.方法重載 | ||
面向對象(二) | 1.類的繼承;2.匿名對象;3.抽象類和抽象方法;4.類的多態;5.方法重寫;6.接口;7.內部類 | ||
異常 | 1.異常概述及使用;2.異常分類;3.異常的處理;4.自定義異常;5.Log4j日志記錄 | ||
集合 | 1.集合概述;2.集合的分類及用法;3.ArrayList和LinkedList的使用;4.Collection接口下的常用集合;5.Map接口下的常用集合;6.Iterator接口;7.泛型 | ||
IO | 1.文件;2.字符輸入流;3.字符輸出流;4.字符緩沖輸入流;5.字符緩沖輸出流;6.復制文件;7.集合與文件中數據相互讀寫;8.替換文件內容和復制圖片;9.字節流;10.字節緩沖流;11.轉換流;12.序列化流 | ||
常用類 | 1.Object類;2.基本包裝類;3.Math類;4.Date類;5.DateFormat類;6.Calendar類;7.枚舉類;8.Scanner類;9.Random類;10.String;11.StringBuilder類;12.正則表達式;13.System類 | ||
線程 | 1.線程概述;2.線程的創建及使用;3.多線程運行原理;4.多線程的實現方案;5.線程生命周期;6.線程同步與死鎖;7.線程池 | ||
網絡編程 | 1.網絡基礎知識;2.網絡編程三要素;3.Socket原理機制;4.Socket常用方法;5.TCP網絡編程;6.UDP網絡編程 | ||
設計模式和反射 | 1.設計模式概述;2.常用設計模式;3.類加載機制原理;4.反射構造方法、字段、方法;5.Properties配置文件;6.垃圾回收機制 | ||
注解及動態代理 | 1.基本注解的使用;2.注解與注釋的區別;3.自定義注解;4.動態代理Proxy;5.類加載器 | ||
Lambda表達式 | 1 概述、2 Lambda標準格式、3 Lambda語法與注意事項 | ||
數據結構和算法 | 1.常用概念術語;2.常用數據結構;3.常用算法;3.冒泡排序;4.插入排序 | ||
數據庫階段 | MySQL | 數據庫簡介;查詢和排序;操作數據;單行函數;多表查詢;子查詢;組函數;管理表;用戶權限;其他數據庫對象;流程控制 |
可掌握的核心能力: 1.熟練mySql、Oracle數據庫的操作 2.掌握JDBC常用接口的操作 3.掌握MongoDB數據庫使用 |
Oracle | SQL操作;PL/SQL語法簡介;游標;過程;函數;異常;觸發器;包 | ||
JDBC | JDBC簡介;Statement/PreparedStatement;JDBC操作數據;JDBC查詢數據;獲取查詢結果;避免SQL注入攻擊;JDBC事務管理;JNDI;DBCP/C3P0;Commons DBUtils的使用;封裝自己的DBUtils | ||
數據庫建模 | Powerdesigner工具簡介、E-R圖、概念模型、物理模型 | ||
MongoDB | 1.MongoDB簡介;2.MongoDB插入、更新、刪除;3.MongoDB排序、索引 | ||
MySQL及JDBC開發 | 1.MySQL數據庫內容;2.JDBC開發;3.DAO設計模式;4.JDBC事物管理;5.數據庫連接池;6.DBUtils | ||
JavaEE核心 | JavaWeb容器 | Tomcat;Jetty;Undertow |
可掌握的核心能力: 1.運用常用的網頁開發技術設計網頁 2.掌握WEB系統交互原理 3.掌握JavaWeb開發核心技術 4.運用JavaWeb核心技術完成簡單功能實現 5.掌握JavaWeb高級技術,創建更好的Web應用程序 6.具備B/S結構軟件開發能力 |
Servlet | 實現方式、生命周期、常用API、Response | ||
會話跟蹤技術 | Cookie;Session | ||
JSP | 腳本、指令、動作、九大內置對象 | ||
EL | 獲取數據、運算符、EL隱式對象、EL調用Java方法 | ||
JSTL | 核心標簽、格式化標簽、Function標簽 | ||
Filter | 實現、用途、生命周期 | ||
連接池 | 數據庫連接池c3p0、DBCP、JNDI | ||
linux與nginx | 1 linux安裝;2 目錄操作;3 文件操作;4 網絡操作等;5 nginx安裝、配置、部署 | ||
xml與jsoup | 1 xml基本語法;2 約束;3XML解析;4 jsoup概述;5jsoup作用使用;6 xpath | ||
Listener | 應用監聽、會話監聽、請求監聽 | ||
redis | 1?nosql介紹;2?redis數據類型;3?常用命令;4?jedis | ||
maven | 1 maven概念與作用;2 eclipse集成maven;3 maven常用命令;4 依賴管理 | ||
freemarker/Thymeleaf | 1.freemarker介紹;2.freemarker使用環境搭建;3.freemarker使用;6.Thymeleaf使用 | ||
jackson/fastjson | 1.json介紹;2.jackson使用;3.fastjson使用 | ||
H5/CSS3 | 1.HTML基本標簽;2.CSS樣式、選擇器;3.HTML5新特性;4.CSS新特性 | ||
JavaScript | 1.JavaScript基本語法、流程控制;2.JavaScript事件;3.JavaScript DOM操作 | ||
jQuery | 1.jQuery簡介;2.jQuery選擇器;3.jQuery事件;jQuery操作DOM;4.jQuery表單驗證 | ||
Ajax | 1.Ajax介紹;2.XMLHttpRequest對象;3.$.ajax方法;4.jQuery與Ajax | ||
bootstrap | 1.bootstrap入門;2.表單、表格、按扭;3.下拉菜單;4.分頁、導航 | ||
layui | 1.layui快速使用;2.布局、圖標、動畫、按扭;3.表單、表格、導航; 4.進度條、面板、時間線;5.彈出層、日期與時間選擇;6.分頁、數據表格; 7.文件上傳、評分、即時通訊 | ||
Vue | 1.項目前后臺分離與mock數據;2.項目的模塊化,組件化;3.vue項目狀態管理器 | ||
框架及項目實戰 | MyBatis | 1.MyBatis開發環境搭建及配置文件說明;2.MyBatis之SQL映射文件;3.MyBatis之動態SQL |
可掌握的核心能力: 1.理解數據持久化概念和ORM原理 2.理解MyBatis概念及特性 3.理解核心類的作用域和生命周期 4.掌握全局配置文件的元素配置 5.熟練配置SQL映射文件增刪改查 6.掌握參數、resultMap的使用 7.了解cache 8.熟練掌握動態SQL |
Spring | 1.Spring核心概念;2.IOC和AOP深入講解;3.Spring和MyBatis整合;4.Spring之JNDI數據源 | 可掌握的核心能力: 1.理解Spring IOC原理,掌握其配置 2.理解Spring AOP原理,掌握其配置 3.理解構造注入 4.理解不同數據類型的注入 5.理解更多增強類型的使用 6.掌握Spring集成MyBaits |
|
SpringMVC | 1.Spring MVC體系結構及請求處理器;2.數據驗證;3.文件上傳;4.JSON處理;5.SSM框架整合 | 可掌握的核心能力: 1.Spring MVC環境搭建 2.了解Spring MVC架構及請求流程 3.參數傳遞 4.了解REST風格 5.掌握數據驗證 6.熟練掌握文件上傳 |
|
項目一 | 維信電商服務平臺 | 可掌握的核心能力: 1.熟練掌握Sping、Spring MVC、MyBatis,Ajax整合熟練運用 2.培養學生團隊開發經驗,增加學生行業業務經驗,提高學生開發技術 |
|
項目二 | 維信就業追蹤系統 | 可掌握的核心能力: 綜合運用SSM框架,完成項目開發,增加行業經驗 |
|
Struts2 | 1.Struts2入門;2.Struts2配置;3.Struts2攔截器;4.Struts2上傳下載;5.Struts2之OGNL表達式;6.Struts2框架驗證及國際化 | 可掌握的核心能力: 1.Struts2開發環境搭建 2.Struts2框架標簽使用 3.掌握Struts2基本架構 4.熟練掌握Struts2配置文件配置 5.掌握Struts2攔截器 6.掌握Struts2框架的上傳下載 7.掌握Struts2類型轉換 8.熟練使用OGNL訪問數據 |
|
Hibernate | 1.Hibernate入門;2.Hibernate之HQL;3.Hibernate映射;4.Hibernate緩存 5.Hibernate之Criteria查詢 | 可掌握的核心能力: 1.Hibernate環境搭建 2.掌握單表的增刪改 3.熟練掌握HQL的使用 4.掌握Hibernate的映射配置 5.理解Hibernate緩存 6.掌握Hibernate連接查詢 7.掌握Criteria查詢 |
|
項目三 | 企業智能協同辦公服務平臺 | 可掌握的核心能力: 1.熟練掌握Struts2、Spring、Hibernate、Ajax整合熟練運用 2.培養學生團隊開發經驗,增加學生行業業務經驗,提高學生開發技術 |
|
項目四 | HR人力資源管理系統 | 可掌握的核心能力: 1.綜合運用SSH框架,完成項目開發,增加行業經驗 |
|
前沿高新技術 | Spring Boot | 1.springBoot簡介;2.springBoot與其它技術的整合;3. thymeleaf 模板語言 ;4 綜合案例 |
可掌握的核心能力: 企業項目中整合使用Spring Boot、Spring DATA、Activity5等的能力 |
Spring Data、JPA | 1.JPA介紹;2. spring data jpa概述;3.spring data jpa常用操作; 4 spring data jpa關聯映射與多表操作 | ||
Activiti5 | 1.工作流介紹;2.Activity5框架表結構;3.Activity插件安裝;4.實例 | ||
WebService | 1.WebService概述;2.WebService主流框架;3.JAX-WS | ||
Shiro | 1.Shiro入門;2.Spring集成Shiro;3.Shiro工作流程 | ||
Linux | 常用命令 | 1、系統管理命令 2、目錄管理命令 3、用戶與用戶組管理命令 |
可掌握的核心能力: Linux 的安裝和使用; Linux 文件系統; 對文件的刪除、移動、復制文件和目錄的權限介紹 Linux 用戶和進程管理; 軟件安裝方式(rpm、tar、yum) |
vi/vim 編輯器詳解 |
可掌握的核心能力: vim 主要模式介紹 vim 命令/插入/命令行模式 vim 可視化模式設置vim 開發環境 Vim 的技巧使用 |
||
shell 編程 | Shell 編程服務器配置 |
可掌握的核心能力: Shell 編程概述正則表達式介紹 字符集和單詞及字符類詳解 Shell 腳本編程介紹 腳本執行命令和控制語句介紹 Shell 定制以及腳本調試介紹 |
|
大數據離線計算 | 基礎增強 | Linux增強、zookeeper與網絡通信、網絡編程增強 | 了解Linux升級操作,掌握zookeeper集群搭建,了解網絡編程增強操作 |
初識Hadoop | 大數據應用發展、前景 Hadoop 概述及生態系統詳解 Hadoop 環境搭建與測試遠程管理分布式系統概述 HDFS 的概念和特性 HDFS 存儲原理 NameNode 節點以及DataNode 數據節點作用詳解 NameNode 啟動過程詳解 SecondaryNameNode 功能詳解 HDFS 心跳原理詳解 datanode 階段black 塊傳輸原理詳解 HDFS 的 Shell 操作常用命令 使用Java API 操作HDFS 文件系統 |
1、了解hadoop生態圈 2、掌握HDFS存儲原理 3、掌握HDFS工作原理 |
|
Hadoop 進階 | Hadoop 文件I/O 詳解 HDFS 文件系統的架構、功能、設計 YARN 發展和架構組件功能詳解 YARN 架構、集群管理、應用監控 YARN 的生態系統 MapReduce 快速入門 MapReduce 編程模型、工作原理、 MapReduce 的map 類和reduce 類的作用以及使用詳解 MapReduce 實現海量數據的統計 MapReduce 實現海量數據的排序 MapReduce 中數據類型與JDK 數據類型的區別以及使用 MapReduce 自定義對象的序列化 MapReduce 執行流程Shuffle 詳解優化MapReduce 編程模板 YARN 與 MapReduce |
1、掌握yarn架構、集群管理、應用監控 2、掌握MapReduce工作原理 3、掌握MapReduce編程 4、掌握MapReduce執行流程 |
|
高級 Hadoop 高級使用技巧 | Partitioner 組 件 Reduce Task 數量與partition 分區數量的關系 MapReduce 之join 算法分布式部署Hadoop HDFS HA 架構設計及四大要點詳解按照官方Reference 配置HDFS HA 啟動HDFS HA 中各個守護進程 如何對HDFS HA 進行測試 對HDFS HA 進行自動故障轉移配置 HDFS HA 架構、配置、測試 HDFS 中高級特性YARN HA 架構、配置 Hadoop 主要發行版本(CDH、HDP、Apache) |
1、掌握HDFS HA架構設計 2、掌握HDFS HA架構、配置、測試 3、了解Hadoop主要發行版本 |
|
分布式協調服務Zookeeper 、MapReduce 實戰(含項目實戰) | 分布式協作服務框架Zookeeper Zookeeper 簡介與核心原理 Zookeeper 分布式安裝部署 分布式協作服務框架Zookeeper 命令使用 使用Zookeeper 對HDFS HA 配置自動故障轉移及測試 Hadoop 的能 2.x 和Hadoop3.0 新特性 MapReduce 實戰項目簡介 MapReduce 實戰、項目模塊開發、核 心點講解、總結 |
1、了解Zookeeper核心原理 2、掌握Zookeeper分布式安裝部署 3、使用Zookeeper 對HDFS HA 配置自動故障轉移及測試 |
|
Hive 初識入門 | Apache Hive 介 紹 Hive 架構、優點及使用場景 Hive 與 HDFS 的 關 系 Hive 安裝部署及簡單測試 Hive 的使用和MySQL 安裝 Hive 配置metastore Hive 運行日志配置和查看 Hive 常用屬性配置 Hive 常用的交互命令操作 |
1、了解Hive 2、掌握Hive架構、有點及使用場景 3、掌握Hive的使用 4、了解Hive其他常用功能 |
|
Hive 深入使用 | Hive 中數據庫Database 的操作 Hive 中常見的三種創建表的方式及應用 Hive 中的內部表跟外部表的區別 Hive 分區表的使用 Hive 指定表的存儲格式 Hive 表的 DDL 操作 Hive 的DML 操作load Hive 的 DDL 操作insert Hive 的 DDL 操作select Hive 中高階查詢詳解(groupby、having 及jion) 結合企業案例分析分區表及幾大注意事項 Hive 數據遷移 Hive 內置函數和 UDF 編程 基于Haproxy 搭建七層負載均衡集群 |
1、掌握Hive數據庫Database的操作 2、掌握Hive中常見的建表方式及應用 3、掌握Hive分表的使用、指定表的存儲格式 4、掌握Hive表的DDL操作 5、了解Hive數據庫遷移 |
|
Hive 高級進階 |
HiveServer2、Beeline、JDBC 使用 Hive 數據的存儲和壓縮 Hive 常見優化(數據傾斜、壓縮等) MapReduce 和Hive 中使用snappy 壓縮 Hive Storage Format 詳解 Hive 常見企業使用優化 實戰:使用RegexSerDe 處理Apache 或者Ngnix 日志文件 實戰:根據原表創建子表及設置orcfile 存儲和snappy 壓縮數據 實戰:數據清洗之自定義UDF 去除數據 雙引號 |
1、了解Hive數據的存儲和壓縮 2、了解Hive常見優化 |
|
HBase 初窺使用 |
NoSQL 數據庫的分類和產品介紹 HBase 是什么、作用及發展史 HBase 與 RDBMS 相比優勢、企業使用 HBase Schema、表的設計 HBase 環境搭建、shell 初步使用(CRUD 等 ) HBase 表的物理模型詳解 HBase 中表的Region 深入了解 |
1、了解HBase 2、掌握HBase環境搭建、shell初步使用 3、了解HBase表的物理模型 |
|
HBase 深入使用 |
HBase Java API 使用(CRUD、SCAN 等) HBase 表創建時的預分區及創建方式 HBase 表屬性壓縮配置詳解 HBase 表屬性版本和BlockCache 配置詳解 HBase 架構深入剖析 HBase 集群及表的管理 HBase 的java 客戶端代碼編寫 實戰:存儲分析 |
1、掌握HBase Java API只用 2、掌握HBase表創建時的預分區即創建方式 3、掌握HBase集群及表的管理 4、掌握HBase的java客戶端代碼編寫 |
|
HBase 高級使用 | HBase 數據檢索流程 深入理解HBase 數據存儲 HBase 架構深入剖析 HBase 表的常見屬性設置(結合企業實際) HBase 與 MapReduce 集成、數據導入導出 HBase 的數據遷移常見方式 HBase Admin 操作(Java API、常見命令) HBase 的二級索引實現--協處理器 使用協處理器的observer 實現二級索引 |
1、了解HBase數據檢索流程 2、理解HBase數據存儲掌握HBase與MapReduce集成、數據導入導出 3、了解HBase數據常見的遷移方式 |
|
大數據實時計算 | 實時數據儲存 | Kafka基礎、Kafka分片及副本機制、Kafka消息不丟失、o?set管理、FLume基礎 |
Storm 節點的部署 spout 詳解與bolt 詳解可靠與不可靠的bolt Storm 的監控 Storm parallelism 并行度概念詳解 Storm 分組概念詳解 Storm 分組策略和worker 的默認值Storm Nmbus 組件詳解 Storm Ui 組件的詳解Storm Supervisor 組件詳解 Storm Worker 組件組件詳解Storm trident 概述 trident 詳解 Client 任務提交過程分析 Nimbus 任務分配過程分析 worker 啟動 Task 過程分析 Storm 核心機制 ACK 機制編程 Storm 通信機制Netty 和Disruptor Storm 數據分發機制 flume 工作原理 flume 的安裝與使用flume-ng 命令使用 flume 讀取存儲在HDFS 日志文件使用flume 實現分布式的海量日志采集、聚合和傳輸 Kafka 是什么,體系結構,配置詳解 Kafka 的安裝,存儲策略,分區特點 Kafka 的發布與訂閱 Kafka 基礎操作和最優設置 Java 編程操作kafka Scala 編程操作kafka Flume 和kafka 的整合 Kafka 和storm 的整合 |
實時數據計算 | Storm基礎、Storm架構、Storm編程模型、Storm消息不丟失機制、Storm核心原理 | ||
實時計算案例 | 互聯網行為數據分析(?ume+kafka+storm+redis+mysql+管理),任務定時更新機制 | ||
實時計算案例 | 用戶看板/互聯網交易風險控制系統(?ume+kafka+storm+redis+mysql+管理) | ||
實時數據存儲 | Hbase部署、原理、常用操作;Redis集群部署、一致性Hash算法、布隆過濾器算法 | ||
實時數據查詢 | ELK基礎、ElasticSearch分布式搜索系統、創建索引、查詢索引、ELK集成操作 | ||
推薦系統開發 | 推薦系統架構、協同過濾算法、猜你喜歡推薦模型開發、推薦引擎開發、推薦系統展現 | ||
大數據內存計算 | Scala語言基礎 | Scala基礎語法、Scala高級特性、Scala的Akka編程實戰 |
Spark 初識入門 Spark 概述、生態系統、與MapReduce 比較 Spark 編譯、安裝部署(Standalone Mode)及測試 Spark 應用提交工具(spark-submit, spark-shell) Scala 基本知識講解(變量,類,高階函數) Spark 核心RDD RDD 特性、常見操作、緩存策略 Spark 內核架構深度剖析寬依賴與窄依賴詳解 SparkContext 原理詳解 Master 主備切換機制原理 Master 資源調度算法原理 Worker 原理詳解及源碼分析 job 觸發流程原理詳解 stage 劃分算法原理詳解 Shuffle 操作的原理分析 Shuffle 操作優化 BlockManager 原理分析 CacheManager 原理分析 CacheManager 源碼分析 Spark 性能優化概述 Java 虛擬機垃圾回收性能調優 Spark 之診斷內存的消耗 Spark 之高性能序列化類庫 Spark 之對RDD 進行持久化 Spark 之使用序列化的持久化級別 Spark 之數據本地化 Sacla 編程介紹 Scala 編程語法 Scala 開發Spark 程序 Spark 高階應用 如何使用IDEA 開發Spark Application 及Local 與打包測試Spark Application 監控 Spark on YARN 運行原理、運行模式及測試 Spark Application 運行的兩種方式 Client 和Cluster 詳解 Spark HistoryServer 歷史應用監控Spark Streaming 流式計算 Spark Streaming 原理、DStream 設計 Spark Streaming 核心概念DStream 及Operation 詳解 Spark Streaming 常見input、out Spark Streaming 讀取HDFS 上數據Spark Streaming 與Kafka 集成Spark Streaming 與Flume 集成 |
Spark基礎 | Spark概述、Spark集群安裝部署、Spark運行架構、Spark編程模型 | ||
Spark?RDD | RDD概述、RDD特征、RDD算子操作、RDD依賴、RDD緩存、Spark任務調度、checkpoint、RDD編程實戰 | ||
Spark?SQL | Spark?SQL概述、DataFrame、DataFrame常用操作、DataSet介紹、SparkSQL整合JDBC、Spark?on?Yarn | ||
Spark?Streaming | 概述、與Storm的對比、Spark?Streaming原理、DStream操作實戰、開窗函數、整合Flume、整合Kafka |