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.
NLP《詞彙表示方法(六)ELMO》
2.
必看!RDS 數據庫入門一本通(附網盤鏈接)
3.
阿里雲1C2G虛擬機【99/年】羊毛黨集合啦!
4.
10秒鐘的Cat 6A網線認證儀_DSX2-5000 CH
5.
074《從零開始學Python網絡爬蟲》小記
6.
實例12--會動的地圖
7.
聽薦 | 「談笑風聲」,一次投資圈的嘗試
8.
阿里技術官手寫800多頁PDF總結《精通Java Web整合開發》
9.
設計模式之☞狀態模式實戰
本站公眾號
歡迎關注本站公眾號,獲取更多信息
相關文章
1.
Java博客大彙總
2.
博客筆記大彙總
3.
Android博客大彙總
4.
大牛博客彙總
5.
博客彙總
6.
Phylab 博客彙總
7.
技術博客筆記大彙總
8.
大前端知識彙總博客
9.
大廠技術博客彙總
10.
衝刺博客彙總
>>更多相關文章<<