Java博客大彙總
目錄介紹
- 01.Java基礎[30篇]
- 02.面向對象[15篇]
- 03.數據結構[27篇]
- 04.IO流知識[11篇]
- 05.線程進程[9篇]
- 06.虛擬機[5篇]
- 07.類的加載[7篇]
- 08.反射原理[12篇]
- 09.Java併發[27篇]
- 10.Java異常[11篇]
- 11.枚舉與註解[1篇]
- 12.設計模式[8篇]
- 13.Java深刻[2篇]
好消息
- 博客筆記大彙總【16年3月到至今】,包括Java基礎及深刻知識點,Android技術博客,Python學習筆記等等,還包括平時開發中遇到的bug彙總,固然也在工做之餘收集了大量的面試題,長期更新維護而且修正,持續完善……開源的文件是markdown格式的!同時也開源了生活博客,從12年起,積累共計N篇[近100萬字,陸續搬到網上],轉載請註明出處,謝謝!
- 連接地址:https://github.com/yangchong211/YCBlogs
- 若是以爲好,能夠star一下,謝謝!固然也歡迎提出建議,萬事起於忽微,量變引發質變!
01.Java基礎
02.面向對象
03.數據結構
- 01.常見數據結構
- 常見的數據類型,數組,集合,棧,堆,鏈表,圖,隊列,樹。主要是羅列開發中比較常見的數據類型……
- 02.集合基礎介紹
- 集合歸納與總結,集合的遍歷,迭代器的原理,List集合如何選擇合適的
- 03.List集合
- ArrayList,Vector,LinkedList等集合的特色與區別。ArrayList的擴容消耗,List怎麼實現排序?System.arraycopy()和Arrays.copyOf()方法區別與聯繫,list集合讀寫機制和讀寫效率,ArrayList核心源代碼分析等等
- 04.Set集合
- HashSet,LinkedHashSet,TreeSet等集合特色和區別
- 05.Map集合
- HashMap,LinkedHashMap,TreeMap等集合案例分享和基礎內容介紹
- 06.ArrayList1
- ArrayList由來介紹,ArrayList的特色,ArrayList如何使用,ArrayList結構圖,ArrayList類聲明
- 07.ArrayList2
- ArrayList內部結構,構造方法,add(E e)方法,set和get函數,remove(Object o),ArrayList擴容消耗
- 08.ArrayList3
- ArrayList的序列化,ArrayList的clone,System.arraycopy()和Arrays.copyOf(),ArrayList的Fail-Fast,List怎麼實現排序
- 09.LinkedList1
- LinkedList簡介,內部結構分析,LinkedList類聲明,幾個經常使用的方法,list效率比較
- 10.LinkedList2
- 構造方法和成員變量,add方法,get方法,indexOf方法,remove()方法
- 11.HashMap1
- HashMap簡單使用 ,查找數據,遍歷數據,HashMap特色,HashMap底層實現
- 12.HashMap2
- HashMap內部結構,構造函數,put(K key, V value),get(Object key),resize()擴容,Hash函數實現
- 13.HashMap3
- 容量和裝載因子,HashTable和HashMap,hashCode和equal,Key爲什麼須要不可變,HashMap爲啥要擴容,HashMap的table下標
- 14.HashMap4
- HashMap線程問題,測試HashMap效率,HashMap性能分析
- 15.TreeMap1
- TreeMap特色,什麼時候用TreeMap,TreeMap簡單使用,案例訓練
- 16.TreeMap2
- 構造函數和成員變量,put插入函數源碼,get獲取函數源碼,如何保證有序性
- 17.ConcurrentHashMap1
- HashMap使用的弊端,ConcurrentHashMap底層知識點
- 18.ConcurrentHashMap2
- ConcurrentHashMap內部結構,table初始化initTable(),put插入數據操做
- 20.LinkedHashMap1
- LinkedHashMap使用,LinkedHashMap特色,爲什麼有LinkedHashMap,節點類說明介紹
- 21.LinkedHashMap2
- 成員變量分析,構造函數分析,put插入元素分析,get訪問元素,移除元素源碼分析
- 22.HashSet
- HashSet特色,HashSet如何去重,HashSet源碼分析
- 23.LinkedHashSet
- LinkedHashSet的特色,LinkedHashSet源碼分析
- 24.TreeSet
- TreeSet特色說明,TreeSet的案例,TreeSet原理,TreeSet源碼分析
- 27.CopyOnWriteArrayList
- 什麼是CopyOnWriteArrayList,它與ArrayList有何不一樣?CopyOnWriteArrayList讀寫分離
04.IO流知識
- 01.IO流基礎介紹
- IO流概述及其前奏,IO流總體學習知識體系有哪些東西,IO流的概念,輸入流和輸出流
- 02.IO流字符與字節
- 什麼是字節,什麼是字符,unicode編碼,如何獲取字節,字節和字符區別,String中編解碼問題
- 03.IO流之File類
- File類介紹,File類構造函數,建立與刪除方法,File判斷方法,File獲取方法
- 05.IO流體系圖
- IO流體系圖,按照流向進行劃分圖,按操做方式分類結構圖,InputStream字節輸入流,OutputStream字節輸出流,Reader字符輸入流,Writer字符輸出流
- 06.IO字節流案例
- 什麼是字節流,字節流複製文本文件,字節流複製MP3,字節流四種方式複製MP3效率比較
- 07.IO字符流案例
- 字符流OutputStreamWriter,字符流InputStreamReader,字符流讀寫方式,字符流複製文本文件,複製單級文件夾,複製指定目錄下指定後綴名的文件並修更名稱
- 08.Buffer高效字節流
- 什麼是Buffer緩衝流,字節緩衝流BufferedOutputStream,字節緩衝流BufferedInputStream
- 09.Buffer高效字符流
- 什麼是高效字符流,字符緩衝流的特殊功能,高效字符流複製文本文件,集合數據存儲到文本文件,文本數據存儲到集合中,隨機獲取文本中姓名
- 10.Java深拷貝和淺拷貝
- 如何實現對象克隆?克隆有哪些方式?深克隆和淺克隆有何區別?深克隆和淺克隆分別說的是什麼意思?淺拷貝會建立新的對象嗎?對於基本類型拷貝的是什麼?怎麼樣實現淺拷貝,淺拷貝先後對象地址值會同樣嗎?
- 11.RandomAccessFile
- RandomAccessFile簡介,RandomAccessFile構造函數,RandomAccessFile使用
05.線程進程
- 01.線程基礎知識
- 什麼是線程,多線程意義,並行和併發,JVM啓動線程
- 02.進程基礎知識
- 什麼是進程,多進程的意義,進程狀態有哪些,進程狀態轉換,進程通訊,進程死鎖,進程調度算法
- 03.線程和進程
- 進程與線程概念區別,進程與線程調度區別,進程與線程併發行區別,進程與線程擁有資源對比,進程與線程系統開銷對比
- 04.Thread建立
- 建立線程的方式,繼承Thread類建立線程類,經過Runnable接口建立線程類,經過Callable和Future建立線程,三種建立線程區別
- 05.Thread控制
- 線程執行流程,線程調度,sleep休眠線程,join加入線程,yield禮讓線程, setDaemon守護線程,stop中斷線程,start開啓線程
- 05.Thread問題
- start和run區別,爲什麼不能重複start,wait和sleep方法,run方法的做用,Runnable和Callable
- 06.Thread關閉
- 結束Thread線程的幾種方法,使用退出標誌終止線程,使用interrupt()方法終止線程,使用stop方法終止線程
- 07.線程通訊方式
- 線程間通訊的兩種方式 ,wait()/notify(),notify()方法使用注意事項,Condition實現等待/通知
- 08.生產者消費者
- 生產者消費者模型發生場景,一輩子產與一消費案例,多生產與多消費案例,會遇到哪些關鍵問題,如何解決關鍵問題
06.虛擬機
07.類的加載
- 01.Java類加載器
- 02.類的加載機制
- Java對象的建立過程 ,Java內存區域 ,Java對象的訪問定位方式 ,Java對象銷燬分析 ,類的加載過程。類信息,常量,變量,方法分別放到內存中哪裏?本地方法棧和Java虛擬機棧有什麼區別?本地方法棧在什麼狀況下會形成OOM?Java對象訪問定位方式有哪些?主要有什麼區別?爲何說使用指針效率更高?
- 04.類的生命週期
- 什麼是類的生命週期?類加載的過程包括了加載、驗證、準備、解析、初始化五個階段。都作了些什麼?
- 05.雙親委派機制
- 詳細介紹一下什麼是雙親委派機制?它的工做流程是什麼?爲什麼說具備不一樣優先級?代碼實現雙親委派模型?
- 06.Java對象的建立
- 07.類執行測試
08.反射原理
09.Java併發
- 02.多線程併發案例
- 繼承Thread類的方式賣電影票案例,實現Runnable接口的方式賣電影票,買電影票出現了同票和負數票的緣由分析,線程安全問題的產生緣由分析,同步代碼塊的方式解決線程安全問題
- 03.多線程三要素
- 什麼是線程安全,線程安全級別,多線程三要素,如何理解原子性,如何理解可見性,如何理解有序性
- 04.處理多線程併發
- 有哪些方式處理多線程併發,如何保證原子性,如何保證可見性,如何保證有序性,平時項目中使用鎖和synchronized比較多,而不多使用volatile,難道就沒有保證可見性?
- 06.Synchronize1
- Synchronize用法,同步代碼塊synchronized (this),同步方法synchronized void test,Synchronize做用於方法和靜態方法區別,sychonized method 和 synchonized代碼塊的效率問題
- 07.Synchronize2
- 簡單理解Synchronize鎖機制,同步方法和代碼塊實現原理
- 08.ReentrantLock
- ReentrantLock是什麼,ReentrantLock使用方法,ReentrantLock鎖機制測試,什麼時候用ReentrantLock,
- 09.Synchronize和ReentrantLock區別
- Synchronize和ReentrantLock區別,Synchronize在編譯時如何實現鎖機制,ReentrantLock鎖機制測試案例分析,公平鎖和非公平鎖有何區別等等
- 14.deadLock3種類型
- 死鎖產生的條件,靜態的鎖順序死鎖,動態的鎖順序死鎖,協做對象之間發生的死鎖
- 15.deadLock詳談
- Java中致使死鎖的緣由 ,出現死鎖須要知足條件 ,死鎖診斷步驟
- 16.volatile介紹
- volatile輕量級鎖,volatile測試案例,volatile實現原理 ,volatile的happens-before關係 ,volatile的內存語義 ,volatile的應用場景
- 19.CAS深度解析
- CAS簡單介紹,CAS操做案例分析,CAS存在的問題
- 20.線程池基礎介紹
- 線程池的優點,ThreadPoolExecutor參數,線程池執行流程,線程池的使用技巧
10.Java異常
11.枚舉與註解
12.設計模式
13.Java深刻
- 01.四種引用比較與源碼分析
- 強引用,軟引用,弱引用,虛引用的使用場景與區別,軟引用SoftReference源碼,弱引用WeakReference源碼,虛引用PhantomReference源碼分析
- 02.Java內存分配機制及內存泄漏
- Java採用GC進行內存管理思惟導圖,JVM內存分配的幾種策略,GC簡單介紹,內存泄漏帶來的影響,GC回收機制,垃圾回收思路及方法
- 03.Hash和HashCode深刻理解
- Hash的定義,Hash的使用場景,HashCode是什麼,爲何要重寫HashCode,可直接用hashcode判斷兩個對象是否相等嗎,Hash表是什麼 ,Hash中的算法應用 ,Hash在Java中的應用場景
其餘介紹
01.關於博客彙總連接
02.關於個人博客
歡迎關注本站公眾號,獲取更多信息