Java學習
最近想重新開始自己的Java學習,因爲之前的學習總是磕磕絆絆,也沒有什麼整體的方向和規劃,所以就有了這篇博客的計劃,總結梳理了一下Java後端需要掌握的技術和能力,因爲現在的公司可能還對前端有要求,所以我添加了一些前端和運維的知識,寫出來也是希望能幫到有需要的人,後期的學習筆記和學習心得我也會陸續攜程博客發出來,也算是監督學習的一部分。篇幅較長,謹慎觀看,會陸續更新的。
JavaSE基礎
- 面向對象(OOP)
- 接口
- 容器(集合)
- 異常
- 泛型
- 反射
- 註解
- I/O
Java虛擬機(JVM)
- 類加載機制
- 字節碼
- JVM內存模型
- GC垃圾處理機制
- JVM性能監控
- JVM性能調優
多線程/併發
- 併發基礎
- 線程池
- 鎖
- 併發容器
- 原子類
- JUC包
數據結構
- 字符串
- 數組
- 鏈表
- 堆/棧/隊列
- 二叉樹
- 哈希
-圖
算法
- 排序
- 查找
- 貪心
- 分治
- 動態規劃
- 回溯
計算機網絡
- ARP協議
- IP/ICMP協議
- TCP/UDP協議
- DNS/HTTP/HTTPS協議
- Session/Cookie
SQL
- SQL基礎
- SQL語句優化
- 事務和隔離級別
- 索引
- 鎖
操作系統
- 進程和線程
- 併發和鎖
- 內存管理和內存調度
- I/O原理
設計模式(21種設計模式,這裏舉幾個常用的例子)
- 單例
- 工廠
- 代理
- 模板方法
- 策略
- 觀察者
- 適配器
- 責任鏈
- 建造者
開發工具
- 代碼管理工具
- SVN
- Git
- 項目管理工具
- Maven
- Gradle
- Linux操作系統
應用框架
- 服務器
- Web服務器
- Nginx
- 應用服務器
- Tomcat
- Jetty
- Undertow
- Web服務器
- 後端
- Spring家族
- Spring
- Spring MVC
- Spring Boot
- Spring家族
- 持久層框架
- MyBatis
- Hibernate
- JPA
- 連接池
- Driud
- C3P0
- Hikaricp
- 分庫分表
- MyCat
- Sharding-JDBC
- Sharding -sphere
- 安全和權限
- Shiro
- Spring Security
- 中間件
- 緩存
- Redis
- 消息隊列
- RocketMQ
- RibbitMQ
- Kafka
- RPC框架
- Spring Cloud
- Dubbo
- gRPC
- Netty
- 緩存
- 搜索引擎
- Elasticsearch
分佈式/微服務
- 服務發現/服務註冊
- Zookeeper
- Nacos
- Eureka
- Consul
- 網關
- Zuul
- Gateway
- 服務調用
- Ribbon
- Fegin
- 熔斷/服務降級
- Hystrix
- 配置中心
- Config
- Apollo
- Nacos
- 認證和鑑權
- SSO單點登錄
- Spring Security
- OAuth2
- 分佈式事務
- JTA
- Atomikos
- XA/TCC
- tcc-transaction
- ByteTCC
- EasyTranscation
- Seata
- SAGA
- SerriceComb
- Seata
- LCN
- TX-LCN
- JTA
- 任務調度
- Quartz
- Elastic-JOB
- 鏈路追蹤和監控
- Zipkin
- SkyWalking
- 日誌分析
- ELK
- 虛擬化/容器技術
- Docker
- 容器編排
- K8S
- Swarm
前端技術
- 基礎三件套
- HTML
- JS
- CSS
- 基礎庫
- JQuery
- Ajax
- 模板框架
JSP/JSTL- Thymeleaf
- FreeMarker
- 組件化框架
- Vue
- Node
- React
- Angular
運維知識
- 持續集成/持續部署
- Jenkins
- 代碼質量檢查
- Sonar
- 日誌分析
- ELK