12)并發程式設計
什麼是并發
什麼是并行
什麼是線程
什麼是程序
線程的狀态
線程的優先級
建立線程
建立線程池
什麼是線程安全
多級緩存和一緻性問題
CPU 時間片和原子性問題
指令重排和有序性問題
線程安全和記憶體模型
happens-before
可重入鎖
阻塞鎖
樂觀鎖
悲觀鎖
分布式鎖
CAS
ABA
偏向鎖
輕量級鎖
重量級鎖
自旋鎖
什麼是死鎖
如果避免死鎖
synchronized
volatile
ThreadLocal
Executors
CountDownLatch
Thread
Runnable
Callable
ReentrantLock
ReentrantReadWriteLock
Atomic 相關類
13)Java 8 新特性
Lambda 表達式
Stream流
Optional
14)源碼閱讀
String
Integer
ArrayList
LinkedList
CopyOnWriteArrayList
HashMap
TreeMap
LinkedHashMap
ConcurrentHashMap
04、第四個階段,Java 進階更新
1)JVM
Java 記憶體結構
堆
棧
垃圾回收
JVM 參數調優
Java 對象模型
HotSpot
類加載機制
編譯和反編譯
反編譯工具
JIT
虛拟機性能監控和故障處理工具(jps、jstack、jmap、jstat、jconsole、javap)
2)性能優化
使用單例
使用線程池
減少上下文切換
減小鎖粒度
資料壓縮
Stream 并行流
GC 調優
JVM 記憶體配置設定調優
btrace
3)設計模式
設計模式的六大原則
建立型設計模式(單例、抽象工廠、建造者、工廠、原型)
結構型設計模式(擴充卡、橋接、裝飾、組合、外觀、享元、代理)
行為型設計模式(模闆方法、指令、疊代器、觀察者、中介者、備忘錄、解釋器、狀态、政策、責任鍊、通路者)
單例的七種寫法
4)資料結構和算法
簡單的資料結構(棧、隊列、連結清單、數組、哈希表)
樹(二叉樹、字典樹、平衡樹、排序樹、B 樹、B+ 樹、R 樹、紅黑樹、多路樹)
圖(拓撲、有向圖、無向圖)
穩定的排序算法(冒泡排序、插入排序、雞尾酒排序、桶排序、計數排序、歸并排序、原地歸并排序、二叉排序樹排序、鴿巢排序、基數排序、侏儒排序、圖書館排序、塊排序)
不穩定的排序算法(選擇排序、希爾排序、梳排序、堆排序、平滑排序、快速排序、内省排序、耐心排序、Clover 排序)
時間複雜度
空間複雜度
貪心算法
KMP 算法
5)作業系統
Linux 常用指令(find、top、tar、move、grep、tail、netstat、curl、wget、ping、ssh)
伺服器性能名額(qps、CPU 使用率)
程序同步
分段和分頁
虛拟記憶體和主存
6)網絡安全
CSRF
XSS
SQL 注入
加密和解密(對稱加密、非對稱加密)
MD5、SHA1、DES、RSA
DDOS 攻擊
HTTP 和 HTTPS
SSL
TLS
TCP 和 UDP
Cookie、Session
CDN
DNS
7)資料庫
MySql
索引
存儲過程
分庫分表
binlog
讀寫分離
資料庫緩存(Redis、MongoDB)
資料庫中間件(MyCat)
資料庫連接配接池(Durid)
8)大資料
搜尋(Elasticsearch 、Solr)
流式計算(Storm、Spark、Flink)
Hadoop
9)伺服器
Tomcat
jetty
Nginx
10)架構
Spring
MyBatis
Spring MVC
Spring Boot
Spring Security
Spring Cloud
Netty
Dubbo
11)消息隊列
RabbitMQ
Kafka
12)容器
Docker
K8s
需要 Java 書單的話,我在 GitHub 上發現了一個寶藏項目,光看了一下目錄,就有點吸引我。

需要的小夥伴可以按需自取,位址如下所示:
https://github.com/itwanger/JavaBooks05、第五個階段,活着最重要
技術是沒有終點的,也是學不完的,最重要的是活着、不秃。
零基礎入門的時候看書還是看視訊,我覺得成年人,何必做選擇題呢,兩個都要。喜歡看書就看書,喜歡看視訊就看視訊。
最重要的是在自學的過程中,一定不要眼高手低,要實戰,把學到的技術投入到項目當中,解決問題,之後進一步錘煉自己的技術。
開源的項目我推薦 GitHub 上的 mall 和 vhr,前者是電商系統,後者是微人事,都用的最前言的技術,并且文檔很全面,不怕暈頭轉向。
自學最怕的就是缺乏自驅力,一定要自律,杜絕“三天打魚兩天曬網”,到最後白忙活一場。
高度自律的同時,要保持耐心,不抛棄不放棄,切勿自怨自艾,每天給自己一點點鼓勵,學習的勁頭就會很足,不容易犯困。
技術學到手後,找工作的時候一定要好好準備一份履歷,不要無頭蒼蠅一樣去海投履歷,容易“竹籃打水一場空”。可以參考下面的連結,好好的準備一下履歷,畢竟是找工作的敲門磚。