Java後端工程師學習大綱

以前本身總結過的Java後端工程師技能樹,其涵蓋的技術點比較全面,並不是一朝一夕可以所有覆蓋到的。對於一些尚未入門或者剛剛入門的Java後端工程師,若是一會兒須要學習如此多的知識,想必不少人會望而卻步。html

本文截取了技能樹中的一些關鍵技能點,並輔以學習資料和書籍推薦,作爲Java後端工程師的一個入門或者入職學習計劃,是一個相對完整的從基礎到高級的修煉過程。基本上涵蓋了一個合格的Java後端工程師必備的技能點。java

本大綱會持續更新^_^…git

一. Git版本管理+Maven工程管理

微博新兵訓練營課程——環境與工具github

二. Java編程

書籍

資料

三. 開發框架

對於這些框架或者是一些經常使用的軟件,我的最推崇的仍是閱讀官方文檔來學習。固然,看這些資料能讓你入門地更加快速一些。redis

更進一步的,在學會使用以後,去閱讀這些框架或軟件的源碼是必不可少的一步。閱讀源碼的一種比較好的步驟以下:spring

  • 1) 先閱讀架構文檔
  • 2) 根據架構,將源碼文件以模塊(或上下層級)分類
  • 3) 從最獨立(依賴性最小)的模塊代碼讀起
  • 4) 閱讀該模塊功能文檔
  • 5) 閱讀該模塊源代碼
  • 6) 一邊閱讀一邊整理「調用關係表」
  • 7) goto 3

四. 性能優化與診斷-系統

《Linux服務器性能調整》數據庫

學習內容:apache

  • Linux概述
  • 性能分析工具
  • 系統調優
  • Linux服務器應用的性能特徵
  • 調優案例分析

五. 性能優化與診斷-JVM

六. 消息中間件

JMS

最爲經典,也比較簡單的一個消息中間件規範,ActiveMQ是其一個實現。但因爲自身的一些侷限,再也不推薦使用。

RabbitMQ

RabbitMQ是AMQP(The Advanced Message Queuing Protocol)協議的實現。適用於須要事務管理、對消息丟失很敏感的應用場景。對比kafka來看,RabbitMQ更爲強調消息的可靠性、事務等。經過閱讀官方文檔學習便可:官方文檔

Kafka

基於日誌的消息隊列,首推固然是官方文檔: http://kafka.apache.org/documentation.html

  • kafka中文教程:比較不錯的中文教程

    學習內容:

    • 開始學習kafka
    • 入門
    • 接口
    • 配置
    • 設計
    • 實現
    • 什麼是kafka
    • 什麼場景下使用kafka
  • kafka-study: 筆者在學習kafka時的一些筆記

七. OAuth認證技術

原理

OAuth是目前最爲流行的第三方認證技術,即如何爲第三方應用提供基於本身系統賬戶體系的認證。目前,微博、微信、QQ、Facebook、Twitter基本上都是經過此協議讓第三方應用集成的。簡單的介紹可見百度百科簡介: OAuth

此外,這裏有一篇博文講的比較詳細:OAuth的機制原理講解及開發流程

開源實現

八. Redis設計與實現

  • Redis命令: 使用固然要看這份權威文檔,也是日常開發中最經常使用的參考資料。

  • Redis設計與實現:能夠經過此文檔來學習Redis的原理。固然,本身去看redis的源代碼更是不錯的選擇。

    學習內容:

    • 經常使用命令以及數據結構
    • 內部數據結構
    • 內存映射數據庫結構
    • redis數據類型
    • 功能的實現
    • 內部運做機制

九. 數據相關

理論基礎

  • MapReduce: 分佈式計算的鼻祖,固然谷歌如今推出了新的計算模型。
  • GFS: 分佈式存儲技術,開源實現爲HDFS
  • Bigtable: 稀疏大型數據庫(列數據庫)技術,開源實現爲HBASE。

做爲業界良心的google還有其餘許多先進的分佈式技術,其論文也很是值得去研讀。能夠經過此連接獲取一些論文的內容:http://www.chinacloud.cn/show.aspx?id=14382&cid=11

實時計算

離線計算

Lambda架構

大數據領域的經典架構方案,融合了離線和實時計算模型,對外可以提供穩定可靠的數據。對此架構的剖析可見此篇文章:Linkedln技術高管Jay Kreps:Lambda架構剖析

機器學習

除了個性化推薦系統以外,CTR預估、廣告推薦、預測模型都是機器學習的應用場景。

相關文章
相關標籤/搜索