JavaShuo
欄目
標籤
Java博客大彙總
時間 2019-11-16
標籤
java
博客
彙總
欄目
Java
简体版
原文
原文鏈接
目錄介紹
01.Java基礎[30篇]
02.面向對象[15篇]
03.數據結構[27篇]
04.IO流知識[11篇]
05.線程進程[9篇]
06.虛擬機[12篇]
07.類的加載[7篇]
08.反射原理[16篇]
09.Java併發[27篇]
10.Java異常[11篇]
11.枚舉與註解[10篇]
12.設計模式[8篇]
13.Java深刻[8篇]
好消息
博客筆記大彙總【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.生產者消費者
生產者消費者模型發生場景,一輩子產與一消費案例,多生產與多消費案例,會遇到哪些關鍵問題,如何解決關鍵問題
09.Thread中join
Thread的join()的含義是等待該線程終止,即將掛起調用線程的執行,直到被調用的對象完成它的執行。join方法實現原理分析。
06.虛擬機
01.Java內存分配機制
JVM內存管理圖,JVM內存分配的幾種策略,內存泄漏簡單介紹
02.Java垃圾回收機制
GC回收機制,GC過程與對象的引用類型關係,檢測垃圾的算法,處理垃圾的算法,分代收集算法(當今最經常使用的方法),將對象按其生命週期劃分
03.Java對象的訪問定位方式
Java對象的訪問定位方式,經過句柄訪問方式,經過直接指針訪問方式,這兩種方式區別和優點
04.Java對象銷燬分析
Java對象銷燬分析,JVM內存分配與回收,判斷對象是否死亡,不可達的對象並不是「非死不可」,如何判斷一個常量是廢棄常量,如何判斷一個類是無用的類,GC回收算法詳解
06.Java內存分配案例
JVM加載類過程,對構造方法賦值,經過對象調用方法
07.Java內存分配機制
JVM內存分配的幾種策略,堆和棧的區別有哪些
08.GC垃圾回收機制
JVM是怎麼分配內存的,識別哪些內存是垃圾須要回收,最後纔是用什麼方式回收,棧的內存管理是順序分配的,並且定長,不存在內存回收問題;而堆 則是爲java對象的實例隨機分配內存,不定長度,因此存在內存分配和回收的問題
09.GC回收什麼
理解內存分配,回收那些對象,Java對象引用
10.GC檢測垃圾算法
檢測垃圾算法有哪些,什麼是引用計數法,什麼是可達性分析算法
11.GC處理垃圾算法
處理垃圾的算法有哪些,標記-清除(Mark-sweep),複製(Copying),標記-整理(Mark-Compact),分代收集算法(當今最經常使用的方法)
12.GC對對象劃分
如何對對象劃分,年輕代對象說明,年老代對象說明,GC中對象的六種可觸及狀態
07.類的加載
01.Java類加載器
類加載器分類
02.類的加載機制
Java對象的建立過程 ,Java內存區域 ,Java對象的訪問定位方式 ,Java對象銷燬分析 ,類的加載過程。類信息,常量,變量,方法分別放到內存中哪裏?本地方法棧和Java虛擬機棧有什麼區別?本地方法棧在什麼狀況下會形成OOM?Java對象訪問定位方式有哪些?主要有什麼區別?爲何說使用指針效率更高?
04.類的生命週期
什麼是類的生命週期?類加載的過程包括了加載、驗證、準備、解析、初始化五個階段。都作了些什麼?
05.雙親委派機制
詳細介紹一下什麼是雙親委派機制?它的工做流程是什麼?爲什麼說具備不一樣優先級?代碼實現雙親委派模型?
06.Java對象的建立
對象的建立的條件有哪些?
07.類執行測試
類在加載過程當中的流程
08.反射原理
01.反射機制介紹
Java反射機制定義,反射的應用場景,Class與.class文檔,反射之動態交互,使用反射的初衷
02.反射查看類信息
反射查看類信息,得到Class對象 ,Class.forName(),類.class, 對象.getClass()
03.獲取對象信息
獲取class對象的信息,獲取對象的變量,獲取class對象的方法,獲取class對象的構造函數,獲取對象信息案例
04.反射實際使用
反射生成類實例對象,反射調用類的方法,反射訪問成員變量值
05.利用Class創建對象
創建實例對象
06.操做成員方法
反射調用公有方法,反射調用私有方法
08.反射知識點深刻
setAccessible暴力訪問,invoke()方法執行說明
09.泛型和反射
泛型和Class類,使用反射來獲取泛型信息,泛型和反射案例
12.反射攻擊單利
如何防止反射序列化攻擊單例
13.反射性能研究
經過分析案例來看一下用反射和不用反射的執行速度
14.反射的利弊
反射包括了一些動態類型,因此JVM沒法對這些代碼進行優化。反射可能會致使意料以外的反作用--代碼有功能上的錯誤,下降可移植性。
15.動態代理
代理類是在運行時生成的。也就是說 Java 編譯完以後並無實際的 class 文件,而是在運行時動態生成的類字節碼,並加載到JVM中。
16.反射與代理
主要涉及兩個類,這兩個類都是java.lang.reflect包下的類,內部主要經過反射來實現的。
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異常
01.Exception 和 Error
異常體系結構圖,Throwable類經常使用方法,異常處理關鍵字
02.異常之Error
什麼是Error(錯誤),常見的異常Error有哪些?
03.異常之Exception
什麼是Exception,常見的Exception有哪些,編譯期異常和運行期異常
04.異常處理機制
什麼是拋出異常,異常先拋出後捕獲,異常處理兩種方式,異常的注意事項,如何選合適處理方法
05.jvm處理異常
待更新
06.try...catch異常
try...catch處理異常,try-catch-finally規則,try...catch使用建議,catch執行注意要點,finally必定會執行嗎,try...catch語句塊的執行順序,多條catch子句
07.throws拋出異常
throws的用法介紹,throw的用法介紹,throws和throw區別
08.異常之鏈式異常
未捕獲的異常,鏈式異常
09.finally-return深刻
驗證finally執行,finally中return和try的return,try塊裏的return必定執行嗎
10.自定義異常
11.處理異常一些建議
儘可能捕獲原始的異常,不要打印堆棧後再拋出異常,不要用異常處理機制代替判斷
11.枚舉與註解
01.枚舉基礎
什麼是枚舉,枚舉簡單使用,枚舉是類類型,枚舉的一些方法,枚舉實現接口
03.Java元數據
什麼是元數據,元數據的做用,Java平臺元數據
04.Java註解概念
註解(Annotation)的概念,註解的屬性分類,註解運行時段分類,自定義註解分類,實際註解案例
05.Java註解使用
內建註解使用(幾個比較經常使用的註解:@Override、@Deprecated、@SuppressWarnings以及@FunctionalInterface這4個註解),元Annotation使用
05.Java註解解析
建立自定義註解,經過反射技術來解析自定義註解。
07.自定義註解
自定義annotation註解,@Retention做用,@Target(ElementType.TYPE)做用,註解的默認值,註解的繼承,註解中方法
08.編譯期註解案例
什麼是編譯器註解,使用註解替代枚舉,使用註解限定類型
09.運行期註解案例
什麼是運行期註解,案例之setContentView分析
10.註解代替枚舉
Android避免使用Enum,使用註解替代枚舉的案例分析
12.Java深刻
01.四種引用比較與源碼分析
強引用,軟引用,弱引用,虛引用的使用場景與區別,軟引用SoftReference源碼,弱引用WeakReference源碼,虛引用PhantomReference源碼分析
02.Java內存分配機制及內存泄漏
Java採用GC進行內存管理思惟導圖,JVM內存分配的幾種策略,GC簡單介紹,內存泄漏帶來的影響,GC回收機制,垃圾回收思路及方法
03.Hash和HashCode深刻理解
Hash的定義,Hash的使用場景,HashCode是什麼,爲何要重寫HashCode,可直接用hashcode判斷兩個對象是否相等嗎,Hash表是什麼 ,Hash中的算法應用 ,Hash在Java中的應用場景
05.transient詳解
transient的做用,transient案例,transient使用小結,transient思考
06.Lambda表達式
Lambda表達式的基礎知識,函數式接口,Lambda使用示例,塊Lambda表達式,Lambda表達式訪問變量,Lambda方法引用
10.Jdk1.8常見新特性
Lambda表達式和函數式接口,接口的默認方法和靜態方法,方法引用,重複註解,更好的類型推斷
11.Jdk1.8編譯器的新特性
如何在運行時得到Java程序中方法的參數名稱
12.Jdk1.8官方庫新特性
Optional,Streams,Base64
其餘介紹
01.關於博客彙總連接
1.
技術博客彙總
2.
開源項目彙總
3.
生活博客彙總
4.
喜馬拉雅音頻彙總
5.
其餘彙總
02.關於個人博客
github:
https://github.com/yangchong211
知乎:
https://www.zhihu.com/people/yczbj/activities
簡書:
http://www.jianshu.com/u/b7b2c6ed9284
csdn:
http://my.csdn.net/m0_37700275
喜馬拉雅聽書:
http://www.ximalaya.com/zhubo/71989305/
開源中國:
https://my.oschina.net/zbj1618/blog
泡在網上的日子:
http://www.jcodecraeer.com/member/content_list.php?channelid=1
郵箱:yangchong211@163.com
阿里雲博客:
https://yq.aliyun.com/users/article?spm=5176.100-
239.headeruserinfo.3.dT4bcV
segmentfault頭條:
https://segmentfault.com/u/xiangjianyu/articles
掘金:
https://juejin.im/user/5939433efe88c2006afa0c6e
相關文章
1.
Java博客大彙總
2.
博客筆記大彙總
3.
Android博客大彙總
4.
大牛博客彙總
5.
博客彙總
6.
Phylab 博客彙總
7.
技術博客筆記大彙總
8.
大前端知識彙總博客
9.
大廠技術博客彙總
10.
衝刺博客彙總
更多相關文章...
•
Docker 資源彙總
-
Docker教程
•
Web 詞彙表
-
網站建設指南
•
JDK13 GA發佈:5大特性解讀
•
Java 8 Stream 教程
相關標籤/搜索
博客
總彙
彙總
博大
技術博客
博客園
博客遷移
博客轉移
博客搬家
博客話題
Java
Docker命令大全
Hibernate教程
MyBatis教程
java
Java 8
Java Agent
0
分享到微博
分享到微信
分享到QQ
每日一句
每一个你不满意的现在,都有一个你没有努力的曾经。
最新文章
1.
如何將PPT某一頁幻燈片導出爲高清圖片
2.
Intellij IDEA中使用Debug調試
3.
build項目打包
4.
IDEA集成MAVEN項目極簡化打包部署
5.
eclipse如何導出java工程依賴的所有maven管理jar包(簡單明瞭)
6.
新建的Spring項目無法添加class,依賴下載失敗解決:Maven環境配置
7.
記在使用vue-cli中使用axios的心得
8.
分享提高自己作品UI設計形式感的幾個小技巧!
9.
造成 nginx 403 forbidden 的幾種原因
10.
AOP概述(什麼是AOP?)——Spring AOP(一)
本站公眾號
歡迎關注本站公眾號,獲取更多信息
相關文章
1.
Java博客大彙總
2.
博客筆記大彙總
3.
Android博客大彙總
4.
大牛博客彙總
5.
博客彙總
6.
Phylab 博客彙總
7.
技術博客筆記大彙總
8.
大前端知識彙總博客
9.
大廠技術博客彙總
10.
衝刺博客彙總
>>更多相關文章<<