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基礎

  • 01.Java 關鍵字彙總
    • 常見的關鍵字,重要關鍵字說明,持續彙總中。
  • 02.Java基礎知識
    • 知識點:基礎知識點總結,標識符規則,進制,字符編碼,運算符,方法,內存分配以及棧和堆
  • 03.基本數據類型
    • 基本類型有哪些,基本類型轉換,字面值有哪些類型,表達式中的自動類型提高
  • 04.常見的API方法
    • 知識點:經常使用api
  • 06.int和Integer深刻分析
    • 知識點:Integer的值緩存的原理,理解自動裝箱和拆箱,如何驗證int類型是否線程安全,Java 原始數據類型和引用類型侷限性,原始類型線程安全問題等等
  • 07.基礎類型緩存池概念
    • new Integer(123) 與 Integer.valueOf(123) 的區別,基本類型對應的緩衝池
  • 09.Java運算符
    • 有哪些運算符,算術運算符,位運算符,關係運算符,邏輯運算符
  • 10.訪問權限控制
    • 訪問控制符有哪些,類訪問控制符,類成員訪問控制符
  • 12.static深刻理解
    • static變量存儲位置,用static靜態變量潛在性問題,靜態變量的生命週期,靜態變量什麼時候銷燬,靜態引用的對象回收
  • 13.finial深刻理解
    • final關鍵字概述,final,finally,finalize之間的比較
  • 14.基本數據類型存儲位置
    • 局部變量存儲位置,成員變量存儲位置,靜態變量存儲位置
  • 20.泛型基礎
    • 泛型的概述,引入泛型的目的,泛型初步探索,泛型的格式,泛型的好處
  • 21.泛型的使用
    • 泛型類的概述及使用,泛型接口的概述和使用,泛型高級之通配符,泛型只能使用引用類型
  • 22.泛型可讀性
    • 編譯器類型檢查,可讀性和靈活性,泛型方法和泛型類的比較
  • 23.泛型擦除
    • 什麼是泛型擦除,泛型擦除案例
  • 24.泛型與反射
    • 經過反射得到泛型的實際類型參數
  • 25.泛型的限制
    • 不能實例化類型參數,對靜態成員的限制,對泛型數組的限制,對泛型異常的限制
  • 26.String類深刻理解
    • String的建立機理,StringBuffer/StringBuilder,String類的考點分析,String不可變的好處
  • 30.switch對整型支持
    • Switch支持哪些類型,switch對整型支持,switch對字符串支持,switch對字符型支持

02.面向對象

  • 01.面向對象基礎
    • 面向對象的思想【思想,特徵】,類和對象及其應用,對象的內存圖,成員變量和局部變量區別等等
  • 02.Java封裝
    • 什麼是封裝,封裝好處分析,封裝的原則,封裝的案例展現
  • 03.Java繼承
    • 繼承簡單概述,繼承格式,繼承好處和弊端,繼承的注意事項,繼承中成員變量的關係,不支持多繼承影響
  • 04.Java多態
    • 什麼是多態,多態的實現條件,多態實現方式,多態好處和弊端
  • 05.Java接口
    • 什麼是接口,接口特色,Marker Interface,Java 8接口變化,接口如何被加載
  • 06.Java抽象類
    • 爲什麼須要抽象類,抽象類特色,抽象類能夠new嗎,抽象類設計注意要點,抽象類名做爲形參
  • 07.抽象類和接口
    • 理解抽象和接口概念,抽象和接口語法上不一樣,抽象和接口編程角度不一樣,抽象類與接口的區別
  • 08.Java內部類
    • Java中的內部類分類,內部類概述和訪問特色,內部類和外部類聯繫,匿名內部類介紹,成員內部類介紹,爲何內部類調用的外部變量必須是final修飾的?
  • 08.形參和實參
    • 什麼是形參和實參,類名做爲形式參數,抽象類名做爲形式參數,接口名做爲形式參數
  • 09.Java構造方法
    • 構造方法概述和做用,構造方法注意事項,看一個構造方法案例,構造方法加載機制
  • 10.方法重載和覆蓋
    • 什麼是方法重寫,什麼是方法重載,父類的靜態方法可否被子類重寫
  • 11.包和權限修飾符
    • import關鍵字的概述和使用,四種權限修飾符的測試,類及其組成所使用的常見修飾符
  • 12.代碼塊深刻理解
    • 待完善
  • 13.Java綁定機制
    • 什麼是綁定,靜態和動態綁定,動態綁定編譯原理,動態綁定運行原理,多態的劃分狀況
  • 14.值傳遞和引用傳遞
    • 基本類型和引用類型,什麼是值傳遞,什麼是引用傳遞,經過案例分析
  • 15.面向對象原則
    • 三大特色,六大原則,實踐案例分析

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.虛擬機

  • 01.Java內存分配機制
    • JVM內存管理圖,JVM內存分配的幾種策略,內存泄漏簡單介紹
  • 02.Java垃圾回收機制
    • GC回收機制,GC過程與對象的引用類型關係,檢測垃圾的算法,處理垃圾的算法,分代收集算法(當今最經常使用的方法),將對象按其生命週期劃分
  • 03.Java對象的訪問定位方式
    • Java對象的訪問定位方式,經過句柄訪問方式,經過直接指針訪問方式,這兩種方式區別和優點
  • 04.Java對象銷燬分析
    • Java對象銷燬分析,JVM內存分配與回收,判斷對象是否死亡,不可達的對象並不是「非死不可」,如何判斷一個常量是廢棄常量,如何判斷一個類是無用的類,GC回收算法詳解
  • 06.Java內存分配案例
    • JVM加載類過程,對構造方法賦值,經過對象調用方法

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.關於個人博客

相關文章
相關標籤/搜索