(2018乾貨系列一)最新Java學習路線整合

怎麼學Java

Java是一門面向對象編程語言,不只吸取了C++語言的各類優勢,還摒棄了C++裏難以理解的多繼承、指針等概念,所以Java語言具備功能強大和簡單易用兩個特徵。css

話很少說,直接上乾貨:

第一階段

  • 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收集和解決阿里雲、騰訊雲項目上線項目驗收項目答辯

     最後是實戰項目,是時候展示真正的技術了!

相關文章
相關標籤/搜索