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.關於我的博客

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章