Java程序員應該加以重視:

  1. 吃透基礎技術
  2. 養成良好的閱讀源碼的習慣
  3. 有長期的技術學習規劃

下面,我們來一起逐條看看,特別是第 3 個方法。

想要做到年薪50萬,首先你自己必須是高水平的程序員!

能年薪50萬的程序員至少自身有以下特徵:

工作年限長,經驗豐富

他們的共同特點是:10 年以上的工作經驗,在大公司當過螺絲釘,也在創業公司做過技術 leader,有過一兩段不算成功的創業經歷。

這樣的程序員無論是去 BAT 還是去創業公司,都能拿到 50 萬年薪以上的 offer。

雖然前面說技術水平不是決定薪水的唯一因素,但如果技術牛到一定程度,高薪 offer 也是探囊取物!

另外,光你自己厲害,技術牛也不行

程序員,在中國又被戲稱為「程序猿」、「碼農」,是一群有鮮明標籤特色的人物。很多文章在描述程序員的時候,常常會給其畫一幅肖像:一副黑框眼鏡,身上格子襯衫,背後一個黑色雙肩包,耳邊戴著一副耳機。這就是典型的IT男,或者程序員在大眾心目中的形象。

為何同樣是程序員有些猿的工資那麼高,他們的技術棧是什麼樣的呢、或者說他們又擁有什麼樣幾技術能力和學習規劃?

一、Spring、MyBits源碼

  • IOC容器設計原理及高級特性
  • AOP設計原理
  • FactoryBean與BeanFactory
  • Spring事務處理機制
  • 基於SpringJDBC手寫ORM框架
  • SpringMVC九大組件
  • 手寫實現SpringMVC框架
  • SpringMVC與Struts2對比分析
  • Spring5新特性
  • MyBatis關聯查詢、嵌套查詢
  • 緩存使用場景及選擇策略
  • Spring集成下的SqlSession與Mapper
  • MyBatis的事務
  • 分析MyBatis的動態代理的真正實現
  • 手寫實現Mini版的MyBatis

二、分散式

1、分散式架構原理

  • 如何把應用從單機擴展到分散式
  • CDN加速靜態文件訪問
  • 系統監控、容災、存儲動態擴容
  • 架構設計及業務驅動劃分
  • CAP、Base理論以及其應用

2、分散式架構策略

  • 分散式架構網路通信原理剖析
  • 通信協議中的序列化和反序列化
  • 基於框架的RPC技術Webservice/RMI/Hessian
  • 深入分析Zookeeper在disconf配置中心的應用
  • 基於Zookeeper實現分散式伺服器動態上下線感知
  • 深入分析Zookeeper Zab協議及選舉機制源碼解讀
  • Dubbo管理中心及監控平台安裝部署
  • 基於Dubbo的分散式系統架構實戰
  • Dubbo容錯機制及高擴展性分析

2、分散式中間件

  • 分散式消息通信ActiveMQ/Kafka/RabbitMQ
  • Redis主從複製原理及無磁碟複製分析
  • Redis中AOF和RDB持久化策略的原理
  • MongoDB企業級集群解決方案
  • MongoDB數據分片、轉存及恢復策略
  • 基於OpenResty部署應用層Nginx以及Nginx+lua實踐
  • Nginx反向代理伺服器及負載均衡服務配置實戰
  • 基於Netty實現高性能IM聊天
  • 基於Netty實現Dubbo多協議通信支持
  • Netty無鎖化串列設計及高並發處理機制

3、分散式架構整合經驗

  • 分散式全局ID生成方案
  • Session跨域共享及企業級單點登錄解決方案實戰
  • 分散式事務解決方案實戰
  • 高並發下的服務降級、限流實戰
  • 基於分散式架構下分散式鎖的解決方案實戰
  • 分散式架構下實現分散式定時調度

三、微服務架構

1、Spring Cloud

  • Eureka註冊中心
  • Ribbon集成REST實現負載均衡
  • Fegion聲明式服務調用
  • Hystrix服務熔斷降級方式
  • Zuul實現微服務網關
  • Config分散式統一配置中心
  • Sleuth調用鏈路跟蹤
  • BUS消息匯流排
  • 基於Hystrix實現介面降級實戰
  • 集成Spring Cloud實現統一整合方案

2、Spring Boot

  • Spring Boot熱部署實戰
  • Spring Boot核心組件Starter、Actuator、AutoConfiguration、Cli
  • Spring Boot集成Mybatis實現多數據源路由實戰
  • Spring Boot集成Dubbo 實戰
  • Spring Boot集成Redis緩存實戰
  • Spring Boot集成Swagger2構建API管理及測試體系
  • Spring Boot實現多環境配置動態解析

3、Docker虛擬化

  • Docker的鏡像、倉庫、容器
  • Docker File構建LNMP環境部署個人博客Wordpress
  • Docker Compose構建LNMP環境部署個人博客Wordpress
  • Docker網路組成、路由互聯、Openvswitch
  • 基於Swarn構建Docker集群實戰
  • Kubernetes

四、性能優化

1、JVM調優

  • 各垃圾回收器使用場景(ThroughputCMS)
  • JVM內存模型 JMM
  • JVM運行時數據區
  • 各垃圾回收器使用場景(ThroughputCMS)
  • 理解GC日誌,從日誌看端倪
  • MAT分析dump文件

2、TomCat調優

  • Tomcat的運行機制及框架
  • Tomcat線程模型
  • Tomcat系統參數認識及調優
  • Tomcat基準測試

3、MySql調優

  • MySQL底層B+ Tree機制
  • SQL執行計劃
  • MySQL索引優化
  • SQL語句優化

五、提升團隊協作效率的開發工具

1、Maven

  • 生成可執行jar、理解Scope生成最精確的jar
  • 類衝突、包依賴 NoClassDefFoundError問題定位及解決
  • Maven生成Archetype
  • Maven流行插件實戰、手寫自己的插件

2、Jenkins

  • 搭建Jenkins自動部署環境
  • Jenkins集成maven、git實現自動部署
  • testpreproduction 多環境發布
  • Jenkins多環境配置、許可權管理及插件使用

3、Sonar

  • 使用Sonar進行代碼質量管理
  • 關於代碼檢查工具FindBugs/PMD的運用
  • SonarQube代碼質量管理平台安裝及使用
  • 使用Jenkins與Sonar集成對代碼進行持續檢測
  • Idea與Sonar集合的使用

4、Git

  • Git以及Git的工作原理
  • Git常用命令Best practise
  • Git衝突怎麼引起的,如何解決
  • Git flow規範團隊git使用規程
  • 案例分享

高級架構師四十八個階段高進階資料

由於平台限制,需要獲取 高級架構師四十八個階段高進階資料可以關注小編後台私信「架構資料」獲取。

推薦閱讀:

相关文章