1. 程式人生 > >2019全網最新java學習路線知識點彙總(小白到大神)

2019全網最新java學習路線知識點彙總(小白到大神)

Java是一門面向物件程式語言,不僅吸收了C++語言的各種優點,還摒棄了C++裡難以理解的多繼承、指標等概念,因此Java語言具有功能強大和簡單易用兩個特徵。

第一階段

  • JavaSE程式設計基礎

    • DOS常用命令
    • 安裝JDK、設定環境變數
    • DOS系統編譯、執行Java程式
    • Java的註釋
    • 識別符號、識別符號的命名規範
    • Java 關鍵字
    • Java的資料型別
    • 變數的定義及初始化
    • Java的運算子
    • 表示式
    • 轉義字元
    • 運算子的優先順序
    • 型別轉換
    • Java分支if...else
    • 多重if、巢狀if
    • Java switch
    • Switch vs if
    • Java迴圈 for、while 、doWhile
    • 迴圈的巢狀
    • break、continue、return
    • 方法的定義
    • 方法的形參和實參
    • 無返回值的方法
    • 有返回值的方法
    • 方法的過載
  • Java陣列​​​​​​​

    • Java 陣列的定義
    • 陣列的靜態賦值
    • 陣列的動態賦值
    • 陣列單個元素的訪問
    • 陣列的遍歷訪問
    • 陣列的增強for迴圈
    • 陣列的排序
    • 陣列的順序查詢
    • 陣列的二分法查詢
    • 命令列引數args的使用
    • 可變引數的應用
    • Arrays工具類的使用
    • 二維陣列的使用
  • Java面向物件​​​​​​​

    • 面向物件的分析與設計
    • 面向物件與面向過程的區別
    • Java與面向物件
    • 類的定義
    • 物件的定義
    • 類中成員變數及方法的定義
    • 構造方法的定義和呼叫
    • 構造方法的過載
    • 面向物件的封裝特性
    • this呼叫屬性、方法、構造方法
    • 區域性變數和成員變數的作用域問題
    • static靜態屬性、方法、程式碼塊
    • 工具類的概念及工具類的製作
    • super關鍵字的使用及理解
    • Java中訪問許可權控制機制
    • 繼承中構造方法的細節
    • 方法的重寫
    • equals及toString方法的正確理解
    • Java中的包機制
    • 抽象類,介面,多型
    • 物件的轉型
    • final修飾類、屬性、方法
    • 抽象類,介面
    • 多型機制
    • 內部類
    • 通過內部類製作效能檢測工具
    • Java的記憶體分析
  • 常用基礎類​​​​​​​

    • 常用資料型別的包裝類
    • String、StringBuffer、StringBuilder
    • Date的使用
    • SimpleDataFormate對日期和字元
      串之間的轉換處理
    • Calendar日曆類的使用
    • Math常用方法
    • Random類
    • Runtime類
    • System 類
    • java8新特性
  • 集合​​​​​​​

    • 集合框架體系介紹
    • 集合框架與陣列的對比
    • 集合框架之Collection介面
    • 集合框架之List介面
    • ArrayList和LinkedList的使用
    • 深入原始碼探究ArrayList和LinkedList
      的工作原理
    • 迭代器的工作原理
    • 迭代器的使用
    • 集合框架之Set
    • HashSet和TreeSet的使用
    • 深入原始碼探究HashSet和TreeSet
      的工作原理
    • HashMap和TreeMap的使用
    • 分析Map和Set的之間的關係
    • Collections工具類
  • 異常處理​​​​​​​

    • Java的異常體系
    • 異常的概念及分類
    • 異常的處理方式
    • 異常設計原則
    • 自定義異常
  • 執行緒和I/O​​​​​​​

    • I/O
    • NIO
    • 檔案操作
    • 多執行緒
    • 執行緒池
    • 同步
    • 執行緒排程
    • 多執行緒下載
    • 網路http、socket
    • 基於HTTP協議訪問網路資源、XML解析
    • 檔案的下載
    • ThreadLocal
  • 專案​​​​​​​

    • FTP伺服器、多人聊天伺服器

第二階段

  • HTML5

    • HTML的作用
    • 全域性標籤
    • 絕對路徑與相對路徑
    • 常見標籤
    • 字符集
    • 表單標籤
    • 佈局指定的網頁
  • CSS3

    • css宣告型別
    • 常見的各種屬性
    • 圓角屬性:border-radius的使用
    • 陰影屬性:box-shadow的用法
    • 背景屬性擴充套件:多背景應用
    • 新的顏色表示方式:HSLA色輪模式
    • 浮動
    • 完成自己的初級課頁面實戰
  • Javascript

    • JavaScript基本語法
    • JavaScript資料型別
    • JavaScript物件和常用物件
    • history物件
    • location物件
    • bom物件
    • 表單物件
    • DOM物件
    • window物件
    • 常用事件
    • 選項卡、幻燈片、貪吃蛇、
      瀑布流各種特效
  • MySQL使用

    • Mysql資料庫
    • MySql命令列客戶端的使用
    • MySql圖形化客戶端的使用
    • SQL語句介紹
    • DDL
    • DML
    • DQL
    • 多表的聯合查詢
    • 子查詢
    • 排序、聚合、分組
  • JDBC連線池

    • JDBC的介紹
    • 採用JDBC實現CRUD
    • 採用PrepareStatement防止SQL注入,提高安全性
  • Servlet

    • Tomcat與eclipse的整合開發
    • 什麼是Servlet
    • Servlet接收客戶端請求資訊
    • Servlet響應客戶端資訊
    • Servlet的生命週期
    • 什麼是JSP
    • JSP的內建物件
    • 透析JSP的本質
    • JSTL+EL
    • MVC介紹
    • 分層的重要性
    • Mysql的事務特性
    • MySql的事務實現
    • Session的使用
    • Cookie的使用
    • 實現系統的安全控制
    • DBCP連線池的使用
    • C3P0連線池的使用
    • DBUils
    • 實現使用者的自動登入
    • 檔案的上傳
    • 檔案的下載
    • 過濾器解決編碼問題
    • 過濾器解決安全驗證問題
    • 監聽器
    • 反射、註解、泛型
  • MVC

    • 設計模式
    • ORM原理
    • 自定義框架ajax
      • Ajax的工作原理
      • JSON解析
      • Ajax 資料格式(XML格式、HTML格式、JSON格式、各種格式對比)
      • 使用 jQuery 實現 Ajax(load()方法、$.get()方法、$.post()方法、序列化、Ajax應用)
      • 聊天室小例項
  • jQuery

    • jQuery選擇器
    • jQuery的常用事件
    • 事件冒泡
    • 事件委派
    • jQuery中的動化
    • 模擬操作
    • jQuery綜合例項
  • BootStrap

    • 響應式設計
    • BootStrap安裝
    • Bootstrap 元件
    • 進度條和列表元件
    • BootStrap綜合例項
  • 專案

    • 講解專案開發流程
    • 專案簡介
    • 專案功能演示
    • 專案功能實現分析
    • 資料庫設計分析
    • 專案架構設計分析
    • 實現網站首頁的商品展示
    • 實現商品詳情頁面
    • 實現購物車功能
    • 實現我的訂單管理
    • 專案驗收

第三階段

  • 框架和Maven

    • 為什麼用框架
    • 流行的框架
    • Maven概述
    • 使用Maven的優勢
    • maven的一次構建
    • 依賴管理
    • 安裝配置介紹.使用Maven核心概念介紹( 座標、依賴、倉庫、外掛、生命週期等)
    • Maven與第三方Elicpse整合及如何在Eclipse中使用Maven、Maven私服Nexus的安裝使用
    • 如何使用Maven構建Web應用
    • 使用Maven構建SSH應用
    • 使用Maven進行多模組和繼承使用
  • Hibernate5

    • ORM思想
    • hibernate5與JPA關係介紹
    • hibernate.cfg.xml配置
    • hbm.xml對映檔案詳解
    • 主鍵生成策略 PO物件三種狀態分析與切換
    • hibernate5一級快取分析與測試
    • Hibernate5高階對映技術
    • Hibernate5多表聯合查詢
    • Hibernate5的效能優化
    • hibernate4及hibernate3區別及新特性介紹
  • JPA

    • JPA 概述
    • JPA 註解
    • JPA 相關 API
    • JPA 對映
    • JPQL
    • 二級快取
    • Spring 整合 JPA
  • Struts2

    • Struts2框架介紹
    • 工作原理及架構分析
    • 快速掌握Struts2開發模式
    • Struts.xml詳解
    • 萬用字元的配置模式
    • ActionContext及ServletActionContext使用
    • 型別自動轉換機制
    • 多模組的開發模式
    • 單檔案上傳
    • 多檔案上傳
    • 檔案下載
    • 攔截器的介紹
    • 預設攔截器
    • 自定義攔截器
    • Token機制

     

  • Spring4

    • 框架原理介紹
    • 框架環境搭建
    • 快速入門
    • 建立Bean的方式及實現原理
    • Bean種類
    • Bean生命週期
    • Bean的作用域
    • Bean的注值方式
    • SpEL
    • 整合Junit測試
    • Web專案整合spring
    • 註解裝配Bean
    • AOP思想
    • AOP原理解剖
    • 傳統方式實現AOP開發
    • AspectJ介紹及實現AOP開發

     

  • SpringMVC

    • Spring MVC 概述
    • 使用 @RequestMapping對映請求
    • 請求處理方法簽名概述
    • 處理方法簽名詳細說明
    • 使用 HttpMessageConverter
    • 處理模型資料
    • 資料繫結流程剖析
    • 資料轉換
    • 資料格式化
    • 資料校驗
    • 檢視和檢視解析器
    • 處理方法的資料繫結
  • 部落格、論壇專案整合和富文字編輯器

    • 部落格或論壇專案在面試中的意義
    • 如何使用Maven構建框架開始寫專案
    • 業務流程
    • 富文字編輯器整合
    • 前後臺的業務實現
  • MyBatis

    • 安裝和配置MyBatis
    • 使用對映語句
    • 執行非查詢語句
    • 使用高階查詢技術
    • 事務
    • 使用動態SQL
    • 使用快取記憶體提高效能
    • MyBatis資料訪問物件
    • DAO使用進階
  • 專案整合

    • 使用SSM整合部落格或論壇專案
    • 體現MyBatis的優越性
    • 使用對比
  • SpringData

    • Spring Data 概述
    • Repository
    • CrudRepository
    • PagingAndSortingRepository
    • JpaRepository
    • 條件查詢
    • 使用@Query自定義查詢
    • @Query 與 @Modifying 執行更新操作
    • 索引引數與命名引數
    • 用@Query來指定本地查詢
    • 為某一個 Repository 上新增自定義方法
    • 所有的 Repository 都新增自實現的方法
  • Redis、MongoDB(二選一)

    • redis安裝
    • redis資料型別
    • redis操作
    • java操作redis
    • redis寫個帶分頁好友關係處理系統
    • Linux平臺安裝MongDB
    • MongDB插入、更新、刪除、查詢文件、MongoDB條件操作符
    • MongoDB排序、索引、聚合、複製、分片
    • MongoDB與java、MongoDB資料庫引用
    • java寫一個MongoDB的操作
  • SpringSecurity(二選一)

    • 加強URL訪問安全
    • 登入到Web應用
    • 驗證使用者
    • 加強方法呼叫的安全
    • 做出訪問控制決策
    • 處理檢視中的安全性
    • 處理領域物件安全性
  • Shiro(二選一)

    • 許可權基礎
    • Shiro 概述
    • Shiro 配置基礎
    • Permissions
    • Authentication
    • Authorization
    • Role
    • 程式設計授權
    • Realm
    • Realms的認證實現
    • Realms的授權實現
    • Spring 整合 Shiro
    • Spring 整合 Shiro
    • 基於註解的授權

     

  • WebService

    • WebService介紹
    • WebService的應用場景
  • WebService

    • http協議
    • RestFul規範
    • postman使用
    • spring 實現 RestFul

第四階段

  • 億級併發架構演進

    架構演進特點大併發架構微服務

  • Linux基礎

    檔案處理命令許可權管理命令幫助命令檔案搜尋命令壓縮解壓命令命令使用技巧VIM使用軟體包管理使用者和使用者組管理服務和程序基本網路設定雲伺服器搭建和使用

  • 搭建tomcat環境

    在雲伺服器下搭建tomcat和MySQL伺服器

  • MySQL主從

    MySQL主從和binlog的配置

  • MySQL主從

    nginx伺服器的優勢nginx伺服器配置什麼是反向代理什麼是負載均衡負載均衡演算法構建數十臺伺服器的負載均衡環境

  • SSL證書配置

    為什麼使用SSL證書RSA演算法、DES演算法Let's Encrypt證書申請證書續期

  • keepalived雙活

    不間斷服務的重要性keepalived原理OSI七層模型和TCP/IP四層模型配置keepalived服務

  • MySQL高階

    ACID和MySQL的實現原理SQL優化技巧MySQL分割槽Explain分析

  • memcached

    MySQL引擎memcached優勢memcached與Java配使用用memcached分散式處理

  • elasticsearch

    為什麼使用全文索引elasticsearch與solr的對對實時索引分散式elasticsearch寫一個自己的搜尋引擎

  • ActiveMQ佇列

    佇列應用場景常用的佇列伺服器佇列伺服器的架設壓力測試Java中使用佇列伺服器

  • MyCat分庫分表技術

    MyCat介紹分庫分開技術講解其他的資料庫中介軟體配置與自動分表

  • Rpc和Dubbo

    分散式服務框架簡介Dubbo主要核心部件Dubbo-RPC基本功能Dubbo-高階功能遠端方法呼叫軟負載均衡及容錯機制linux 上 Dubbo 的部署

  • svn & git & Jenkins持續整合

    svn介紹svn伺服器和客戶搭建配置如何使用svn多人一起進行衝突解決git常用命令git的web hooks為什麼要使用持續整合持續整合與git 的web hooks配使使用

  • echarts圖表外掛

    圖表介紹和選擇什麼樣的圖表5分鐘快速上手常用API和模組移動端自適應

  • UML和常用工具的使用

    UML的作用UML常用工具的使用UML的3個要素UML的3個基本構造塊事物是對模型中最具有代表性的成分的抽象5種圖定義UML的應用領域

  • Hadoop

    大資料的應用場景Hadoop架設Hadoop單機配置Hadoop偽分散式環境Hadoop叢集環境HDFS的使用和配置分治思想分治思想處理資料MadReduce原理MapReduce架設和使用雲伺服器上提供的大資料工具

  • 億人同時線上的搶票系統

    大併發系統的應用大併發系統的分析大併發系統的設計大併發系統的開發手把手帶著學員完成大併發系統

  • 綜合專案實戰

    15個大型專案選擇各種專案特點分析專案設計專案分組選擇框架後臺搭建使用Maven構建專案專案開發壓力測試webhooks專案自動部署面試中常問到的專案問題專案bug收集和解決阿里雲、騰訊雲專案上線專案驗收專案答辯