推薦幾本書,這些是要有一定的基礎之後再去學習的
1.《Java編程思想》
2.《大話設計模式》
3.《effective java》
4.《深入理解Java虛擬機》
5.《Java併發編程實戰》
6.《數據結構與算法》
JVM
1. 內存模型
內存分爲幾部分?
堆溢出、棧溢出原因及實例?線上如何排查?
1、 類加載機制
2、垃圾回收
Java基礎
什麼是接口?什麼是抽象類?區別是什麼?
什麼是序列化?
網絡通信過程及實踐
什麼是線程?java線程池運行過程及實踐(Executors)
java反射機制實踐
設計模式
單例模式、原型模式、動態代理模式
Spring
什麼是IOC
什麼是AOP
事務管理:模板事務跟標註事務的區別及運理原理,什麼是事務的傳播機制
數據庫
鎖機制:鎖的作用是什麼,什麼是樂觀鎖,什麼是悲觀鎖,怎麼實現 ?
索引:熟悉聯合索引及sql執行計劃
1. java內存模型
學習內容:學習java內存模型
實驗方法:寫一段代碼觸發內存溢出,分別觸發棧內存和堆內存溢出,寫一段代碼導致持久代溢出。使用工具查看內存佔用情況,學會如何分析內存溢出。
2. 多線程
學習內容:多線程的NIO實現,IO實現(兩種實現,阻塞,非阻塞)
試驗方法:寫一段代碼實現多人聊天室,包括雙人聊天和多人聊天。
3. 動態代理(工廠模式)
(1)學習內容:JDK動態代理實現,
試驗方法:一個方法的前置攔截,後置攔截,前置打印獲取類名,方法名字,調用參數打印。後置打印返回結果(返回的結果是一個複雜的類)。
(2)學習內容:spring框架
試驗方法:對某一包下,所有類的方法做切面,打印日誌。
4. 反射機制
學習內容:java的反射機制
試驗方法:寫一段程序,調用一個Bean下實現了標註(“autocall”)的方法
5. 配置數據源
學習內容:配置數據源
實驗方法:自己建一張表,引入數據庫連接池,自動插入20萬條數據,創建聯合索引,驗證走索引和不走索引的耗時,查看sql是否走索引,學會查看查詢,計劃實驗,用標註式事務,編程式事務(查看編程式事務源碼實現);用樂觀鎖和悲觀鎖實現數據更新。
學習需要知道:
1、是什麼
2、解決了什麼問題
3、怎麼實現的