Java中高級(jí)核心知識(shí)全面解析---目錄

一、Java

(一). 基礎(chǔ)

1. Java 基本功

1.1. Java 入門(基礎(chǔ)概念與常識(shí))

1.1.1. Java 語言有哪些特點(diǎn)?

1.1.2. 關(guān)于JVM JDK 和JRE 最詳細(xì)通俗的解答

1.1.2.1. JVM

1.1.2.2. JDK 和JRE

1.1.3. Oracle JDK 和OpenJDK 的對(duì)比

1.1.4. Java 和C++的區(qū)別?

1.1.5. 什么是Java 程序的主類應(yīng)用程序和小程序的主類有何不同?

1.1.6. Java 應(yīng)用程序與小程序之間有哪些差別?

1.1.7. import java 和javax 有什么區(qū)別昔期?

1.1.8. 為什么說Java 語言“編譯與解釋并存”?

1.2. Java 語法

1.2.1. 字符型常量和字符串常量的區(qū)別?

1.2.2. 關(guān)于注釋花墩?

1.2.3. 標(biāo)識(shí)符和關(guān)鍵字的區(qū)別是什么扎唾?

1.2.4. Java中有哪些常見的關(guān)鍵字?

1.2.5. 自增自減運(yùn)算符

1.2.6. continue、break蛀骇、和return的區(qū)別是什么厌秒?

1.2.7. Java泛型了解么?什么是類型擦除擅憔?介紹一下常用的通配符鸵闪?

1.2.8. ==和equals的區(qū)別

1.2.9. hashCode()與equals()

1.3. 基本數(shù)據(jù)類型

1.3.1. Java中的幾種基本數(shù)據(jù)類型是什么?對(duì)應(yīng)的包裝類型是什么暑诸?各自占用多少字節(jié)呢蚌讼?

1.3.2. 自動(dòng)裝箱與拆箱

1.3.3. 8種基本類型的包裝類和常量池

1.4. 方法(函數(shù))

1.4.1. 什么是方法的返回值?返回值在類的方法里的作用是什么?

1.4.2. 為什么Java 中只有值傳遞?

1.4.3. 重載和重寫的區(qū)別

1.4.4. 深拷貝vs 淺拷貝

1.4.5. 方法的四種類型

2. Java 面向?qū)ο?/p>

2.1. 類和對(duì)象

2.1.1. 面向?qū)ο蠛兔嫦蜻^程的區(qū)別

2.1.2. 構(gòu)造器Constructor 是否可被override?

2.1.3. 在Java 中定義一個(gè)不做事且沒有參數(shù)的構(gòu)造方法的作用

2.1.4. 成員變量與局部變量的區(qū)別有哪些个榕?

2.1.5. 創(chuàng)建一個(gè)對(duì)象用什么運(yùn)算符?對(duì)象實(shí)體與對(duì)象引用有何不同?

2.1.6. 一個(gè)類的構(gòu)造方法的作用是什么? 若一個(gè)類沒有聲明構(gòu)造方法篡石,該程序能正確執(zhí)行嗎? 為什

么?

2.1.7. 構(gòu)造方法有哪些特性?

2.1.8. 在調(diào)用子類構(gòu)造方法之前會(huì)先調(diào)用父類沒有參數(shù)的構(gòu)造方法,其目的是?

2.1.9. 對(duì)象的相等與指向他們的引用相等,兩者有什么不同?

2.2. 面向?qū)ο笕筇卣?/p>

2.2.1. 封裝

2.2.2. 繼承

2.2.3. 多態(tài)

2.3. 修飾符

2.3.1. 在一個(gè)靜態(tài)方法內(nèi)調(diào)用一個(gè)非靜態(tài)成員為什么是非法的?

2.3.2. 靜態(tài)方法和實(shí)例方法有何不同

2.4. 接口和抽象類

2.4.1. 接口和抽象類的區(qū)別是什么西采?2.5. 其它重要知識(shí)點(diǎn)

2.5.1. String StringBuffffer 和StringBuilder 的區(qū)別是什么? String 為什么是不可變的?

2.5.2. Object 類的常見方法總結(jié)

2.5.3. == 與equals(重要)

2.5.4. hashCode 與equals (重要)

2.5.4.1. hashCode()介紹

2.5.4.2. 為什么要有hashCode

2.5.4.3. hashCode()與equals()的相關(guān)規(guī)定

2.5.5. Java 序列化中如果有些字段不想進(jìn)行序列化凰萨,怎么辦?

2.5.6. 獲取用鍵盤輸入常用的兩種方法

3. Java 核心技術(shù)

3.1. 集合

3.1.1. Collections 工具類和Arrays 工具類常見方法總結(jié)

3.2. 異常

3.2.1. Java 異常類層次結(jié)構(gòu)圖

3.2.2. Throwable 類常用方法

3.2.3. try-catch-fifinally

3.2.4. 使用try-with-resources 來代替try-catch-finally

3.3. 多線程

3.3.1. 簡(jiǎn)述線程械馆、程序胖眷、進(jìn)程的基本概念。以及他們之間關(guān)系是什么?

3.3.2. 線程有哪些基本狀態(tài)?

3.4. 文件與I\O 流

3.4.1. Java 中IO 流分為幾種?

3.4.1.1. 既然有了字節(jié)流,為什么還要有字符流?

3.4.1.2. BIO,NIO,AIO 有什么區(qū)別?

(二). 容器

1. ArrayList

1.1 ArrayList簡(jiǎn)介

1.2 ArrayList核心源碼

1.3 ArrayList源碼分析

1.3.1 System.arraycopy()和Arrays.copyOf()方法

1.3.2 兩者聯(lián)系與區(qū)別

1.3.3 ArrayList 核心擴(kuò)容技術(shù)

1.3.4 內(nèi)部類

1.4 ArrayList經(jīng)典Demo

2. LinkedList

2.1 簡(jiǎn)介

2.2 內(nèi)部結(jié)構(gòu)分析

2.3 LinkedList源碼分析

2.3.1 構(gòu)造方法

2.3.2 add方法

2.3.3 根據(jù)位置取數(shù)據(jù)的方法

2.3.4 根據(jù)對(duì)象得到索引的方法

2.3.5 檢查鏈表是否包含某對(duì)象的方法:

2.3.6 刪除方法

2.4 LinkedList類常用方法測(cè)試

3. HashMap

3.1 HashMap 簡(jiǎn)介

3.2 底層數(shù)據(jù)結(jié)構(gòu)分析

3.2.1 JDK1.8之前

3.2.2 JDK1.8之后

3.3 HashMap源碼分析

3.3.1 構(gòu)造方法

3.3.2 put方法

3.4 get方法

3.5 resize方法

3.6 HashMap常用方法測(cè)試

(三). 并發(fā)1. 并發(fā)容器

1.1 JDK 提供的并發(fā)容器總結(jié)

1.2 ConcurrentHashMap

1.3 CopyOnWriteArrayList

1.3.1 CopyOnWriteArrayList 簡(jiǎn)介

1.3.2 CopyOnWriteArrayList 是如何做到的霹崎?

1.3.3 CopyOnWriteArrayList 讀取和寫入源碼簡(jiǎn)單分析

1.4 ConcurrentLinkedQueue

1.5 BlockingQueue

1.5.1 BlockingQueue 簡(jiǎn)單介紹

1.5.2 ArrayBlockingQueue

1.5.3 LinkedBlockingQueue

1.5.4 PriorityBlockingQueue

1.6 ConcurrentSkipListMap

2. 線程池

2.1 使用線程池的好處

2.2 Executor 框架

2.2.1 簡(jiǎn)介

2.2.2 Executor 框架結(jié)構(gòu)(主要由三大部分組成)

2.2.3 Executor 框架的使用示意圖

2.3 (重要)ThreadPoolExecutor 類簡(jiǎn)單介紹

2.3.1 ThreadPoolExecutor 類分析

2.3.2 推薦使用ThreadPoolExecutor 構(gòu)造函數(shù)創(chuàng)建線程池

2.4 (重要)ThreadPoolExecutor 使用示例

2.4.1 示例代碼: Runnable + ThreadPoolExecutor

2.4.2 線程池原理分析

2.4.3 幾個(gè)常見的對(duì)比

2.4.4 加餐: Callable + ThreadPoolExecutor 示例代碼

2.5 幾種常見的線程池詳解

2.5.1 FixedThreadPool

2.5.2 SingleThreadExecutor 詳解

2.5.3 CachedThreadPool 詳解

2.6 ScheduledThreadPoolExecutor 詳解

2.6.1 簡(jiǎn)介

2.6.2 運(yùn)行機(jī)制

2.6.3 ScheduledThreadPoolExecutor 執(zhí)行周期任務(wù)的步驟

2.7 線程池大小確定

3. 樂觀鎖與悲觀鎖

3.1何謂悲觀鎖與樂觀鎖

3.1.1悲觀鎖

3.1.2 樂觀鎖

3.1.3 兩種鎖的使用場(chǎng)景

3.2 樂觀鎖常見的兩種實(shí)現(xiàn)方式

3.2.1. 版本號(hào)機(jī)制

3.2.2. CAS算法

3.3 樂觀鎖的缺點(diǎn)

3.3.1 ABA 問題

3.3.2 循環(huán)時(shí)間長(zhǎng)開銷大

3.3.3 只能保證一個(gè)共享變量的原子操作

3.4 CAS與synchronized的使用情景

4. Atomic

4.1 Atomic 原子類介紹

4.2 基本類型原子類

4.2.1 基本類型原子類介紹

4.2.2 AtomicInteger 常見方法使用

4.2.3 基本數(shù)據(jù)類型原子類的優(yōu)勢(shì)

4.2.4 AtomicInteger 線程安全原理簡(jiǎn)單分析4.3 數(shù)組類型原子類

4.3.1 數(shù)組類型原子類介紹

4.3.2 AtomicIntegerArray 常見方法使用

4.4 引用類型原子類

4.4.1 引用類型原子類介紹

4.4.2 AtomicReference 類使用示例

4.4.3 AtomicStampedReference 類使用示例

4.4.4 AtomicMarkableReference 類使用示例

4.5 對(duì)象的屬性修改類型原子類

4.5.1 對(duì)象的屬性修改類型原子類介紹

4.5.2 AtomicIntegerFieldUpdater 類使用示例

5. AQS

5.1 AQS 簡(jiǎn)單介紹

5.2 AQS 原理

5.2.1 AQS 原理概覽

5.2.2 AQS 對(duì)資源的共享方式

5.2.3 AQS 底層使用了模板方法模式

5.3 Semaphore(信號(hào)量)-允許多個(gè)線程同時(shí)訪問

5.4 CountDownLatch (倒計(jì)時(shí)器)

5.4.1 CountDownLatch 的兩種典型用法

5.4.2 CountDownLatch 的使用示例

5.4.3 CountDownLatch 的不足

5.4.4 CountDownLatch 相常見面試題

5.5 CyclicBarrier(循環(huán)柵欄)

5.5.1 CyclicBarrier 的應(yīng)用場(chǎng)景

5.5.2 CyclicBarrier 的使用示例

5.5.3 CyclicBarrier 源碼分析

5.5.4 CyclicBarrier 和CountDownLatch 的區(qū)別

5.6 ReentrantLock 和ReentrantReadWriteLock

(四). JVM

1. Java內(nèi)存區(qū)域

1.1 概述

1.2 運(yùn)行時(shí)數(shù)據(jù)區(qū)域

1.2.1 程序計(jì)數(shù)器

1.2.2 Java 虛擬機(jī)棧

1.2.3 本地方法棧

1.2.4 堆

1.2.5 方法區(qū)

1.2.5.1 方法區(qū)和永久代的關(guān)系

1.2.5.2 常用參數(shù)

1.2.5.3 為什么要將永久代(PermGen) 替換為元空間(MetaSpace) 呢?

1.2.6 運(yùn)行時(shí)常量池

1.2.7 直接內(nèi)存

1.3 HotSpot 虛擬機(jī)對(duì)象探秘

1.3.1 對(duì)象的創(chuàng)建

1.3.2 對(duì)象的內(nèi)存布局

1.3.3 對(duì)象的訪問定位

1.4 重點(diǎn)補(bǔ)充內(nèi)容

1.4.1 String 類和常量池

1.4.2 String s1 = new String("abc");這句話創(chuàng)建了幾個(gè)字符串對(duì)象珊搀?

1.4.3 8 種基本類型的包裝類和常量池

2. JVM垃圾回收

2.1 揭開JVM 內(nèi)存分配與回收的神秘面紗

2.1.1 對(duì)象優(yōu)先在eden 區(qū)分配

2.1.2 大對(duì)象直接進(jìn)入老年代

2.1.3 長(zhǎng)期存活的對(duì)象將進(jìn)入老年代

2.1.4 動(dòng)態(tài)對(duì)象年齡判定

2.2 對(duì)象已經(jīng)死亡?2.2.1 引用計(jì)數(shù)法

2.2.2 可達(dá)性分析算法

2.2.3 再談引用

2.2.4 不可達(dá)的對(duì)象并非“非死不可”

2.2.5 如何判斷一個(gè)常量是廢棄常量

2.2.6 如何判斷一個(gè)類是無用的類

2.3 垃圾收集算法

2.3.1 標(biāo)記-清除算法

2.3.2 復(fù)制算法

2.3.3 標(biāo)記-整理算法

2.3.4 分代收集算法

2.4 垃圾收集器

2.4.1 Serial 收集器

2.4.2 ParNew 收集器

2.4.3 Parallel Scavenge 收集器

2.4.4.Serial Old 收集器

2.4.5 Parallel Old 收集器

2.4.6 CMS 收集器

2.4.7 G1 收集器

3. JDK 監(jiān)控和故障處理工具

3.1 JDK 命令行工具

3.1.1 jps :查看所有Java 進(jìn)程

3.1.2 jstat : 監(jiān)視虛擬機(jī)各種運(yùn)行狀態(tài)信息

3.1.3 jinfo : 實(shí)時(shí)地查看和調(diào)整虛擬機(jī)各項(xiàng)參數(shù)

3.1.4 jmap :生成堆轉(zhuǎn)儲(chǔ)快照

3.1.5 jhat : 分析heapdump 文件

3.1.6 jstack :生成虛擬機(jī)當(dāng)前時(shí)刻的線程快照

3.2 JDK 可視化分析工具

3.2.1 JConsole:Java 監(jiān)視與管理控制臺(tái)

3.2.2Visual VM:多合一故障處理工具

4. 類文件結(jié)構(gòu)

4.1 概述

4.2 Class 文件結(jié)構(gòu)總結(jié)

4.2.1 魔數(shù)

4.2.2 Class 文件版本

4.2.3 常量池

4.2.4 訪問標(biāo)志

4.2.5 當(dāng)前類索引,父類索引與接口索引集合

4.2.6 字段表集合

4.2.7 方法表集合

4.2.8 屬性表集合

5. 類加載過程

5.1 類加載過程

5.1.1 加載

5.1.2 驗(yàn)證

5.1.3 準(zhǔn)備

5.1.4 解析

5.1.5 初始化

5.2 卸載

6. 類加載器

6.1 回顧一下類加載過程

6.2 類加載器總結(jié)

6.3 雙親委派模型

6.3.1 雙親委派模型介紹

6.3.2 雙親委派模型實(shí)現(xiàn)源碼分析

6.3.3 雙親委派模型的好處

6.3.4 如果我們不想用雙親委派模型怎么辦尾菇?6.4 自定義類加載器

二食棕、網(wǎng)絡(luò)

(一). 計(jì)算機(jī)網(wǎng)絡(luò)知識(shí)

1. 計(jì)算機(jī)概述

1.1 基本術(shù)語

1.2 重要知識(shí)點(diǎn)總結(jié)

2. 物理層

2.1 基本術(shù)語

2.2 重要知識(shí)點(diǎn)總結(jié)

2.3 最重要的知識(shí)點(diǎn)

2.3.1 拓展:

2.3.2 幾種常用的信道復(fù)用技術(shù)

2.3.3 幾種常用的寬帶接入技術(shù),主要是ADSL和FTTx

3. 數(shù)據(jù)鏈路層

3.1 基本術(shù)語

3.2 重要知識(shí)點(diǎn)總結(jié)

3.3 最重要的知識(shí)點(diǎn)

4. 網(wǎng)絡(luò)層

4.1 基本術(shù)語

4.2 重要知識(shí)點(diǎn)總結(jié)

4.3 最重要知識(shí)點(diǎn)

5. 運(yùn)輸層

5.1 基本術(shù)語

5.2 重要知識(shí)點(diǎn)總結(jié)

5.3 最重要的知識(shí)點(diǎn)

6. 應(yīng)用層

6.1 基本術(shù)語

6.2 重要知識(shí)點(diǎn)總結(jié)

6.3 最重要知識(shí)點(diǎn)總結(jié)

(二). HTTPS中的TLS

1. SSL 與TLS

2. 從網(wǎng)絡(luò)協(xié)議的角度理解HTTPS

3. 從密碼學(xué)的角度理解HTTPS

3.1. TLS 工作流程

3.2. 密碼基礎(chǔ)

3.2.1. 偽隨機(jī)數(shù)生成器

3.2.2. 消息認(rèn)證碼

3.2.3. 數(shù)字簽名

3.2.4. 公鑰密碼

3.2.5. 證書

3.2.6. 密碼小結(jié)

3.3. TLS 使用的密碼技術(shù)

3.4. TLS 總結(jié)

4. RSA 簡(jiǎn)單示例

三错沽、Linux

(一). 從認(rèn)識(shí)操作系統(tǒng)開始

1.1 操作系統(tǒng)簡(jiǎn)介

1.2 操作系統(tǒng)簡(jiǎn)單分類

1.3 操作系統(tǒng)的內(nèi)核

1.4 操作系統(tǒng)的用戶態(tài)與內(nèi)核態(tài)

1.4.1 為什么要有用戶態(tài)與內(nèi)核態(tài)?

1.4.2 用戶態(tài)切換到內(nèi)核態(tài)的幾種方式

1.4.3 物理內(nèi)存RAM(Random Access Memory 隨機(jī)存儲(chǔ)器)

1.4.4 虛擬內(nèi)存(Virtual Memory)

1.4.5 Swap交換空間

(二). 初探Linux

2.1 Linux簡(jiǎn)介

2.2 Linux誕生簡(jiǎn)介2.3 Linux的分類

(三) Linux文件系統(tǒng)概覽

3.1 Linux文件系統(tǒng)簡(jiǎn)介

3.2 Inode

3.2.1 Inode是什么?有什么作用?

3.3 文件類型與目錄結(jié)構(gòu)

3.4 Linux目錄樹

(四) Linux基本命令

4.1 目錄切換命令

4.2 目錄的操作命令(增刪改查)

4.3 文件的操作命令(增刪改查)

4.4 壓縮文件的操作命令

4.5 Linux的權(quán)限命令

4.6 Linux 用戶管理

4.7 Linux系統(tǒng)用戶組的管理

4.8 其他常用命令

四簿晓、數(shù)據(jù)結(jié)構(gòu)與算法

(一). 數(shù)據(jù)結(jié)構(gòu)(布隆過濾器)

1.什么是布隆過濾器?

2.布隆過濾器的原理介紹

3.布隆過濾器使用場(chǎng)景

4.通過Java 編程手動(dòng)實(shí)現(xiàn)布隆過濾器

5.利用Google開源的Guava中自帶的布隆過濾器

6.Redis 中的布隆過濾器

6.1 介紹

6.2 使用Docker安裝

6.3常用命令一覽

6.4實(shí)際使用

(二). 算法

五千埃、數(shù)據(jù)庫

(一). MySQL

1. 基本操作

2. 數(shù)據(jù)庫操作

3. 表的操作

4. 數(shù)據(jù)操作

5. 字符集編碼

6. 數(shù)據(jù)類型(列類型)

7. 列屬性(列約束)

8. 建表規(guī)范

9. SELECT

10. UNION

11. 子查詢

12. 連接查詢(join)

13. TRUNCATE

14. 備份與還原

15. 視圖

16. 事務(wù)(transaction)

17. 鎖表

18. 觸發(fā)器

19. SQL編程

20. 存儲(chǔ)過程

21. 用戶和權(quán)限管理

22. 表維護(hù)

23. 雜項(xiàng)

(二). Redis

1. 5種基本數(shù)據(jù)結(jié)構(gòu)

1.1 Redis 簡(jiǎn)介

1.1.1 Redis 的優(yōu)點(diǎn)1.1.2 Redis 的安裝

1.1.3 測(cè)試本地Redis 性能

1.2 Redis 五種基本數(shù)據(jù)結(jié)構(gòu)

1.2.1 字符串string

1.2.2 列表list

1.2.3 字典hash

1.2.4 集合set

1.2.5 有序列表zset

2. 跳躍表

2.1 跳躍表簡(jiǎn)介

2.1.1 為什么使用跳躍表

2.1.2 本質(zhì)是解決查找問題

2.1.3 更進(jìn)一步的跳躍表

2.2 跳躍表的實(shí)現(xiàn)

2.2.1 隨機(jī)層數(shù)

2.2.2 創(chuàng)建跳躍表

2.2.3 插入節(jié)點(diǎn)實(shí)現(xiàn)

2.2.4 節(jié)點(diǎn)刪除實(shí)現(xiàn)

2.2.5 節(jié)點(diǎn)更新實(shí)現(xiàn)

2.2.6 元素排名的實(shí)現(xiàn)

3. 分布式鎖深入探究

3.1 分布式鎖簡(jiǎn)介

3.1.1 為何需要分布式鎖

3.1.2 Java 中實(shí)現(xiàn)的常見方式

3.1.3 Redis 分布式鎖的問題

3.2 Redis 分布式鎖的實(shí)現(xiàn)

3.2.1 代碼實(shí)現(xiàn)

4. Redlock分布式鎖

4.1 什么是RedLock

4.2 怎么在單節(jié)點(diǎn)上實(shí)現(xiàn)分布式鎖

4.3 Redlock 算法

4.4 失敗重試

4.5 放鎖

4.6 性能憔儿、崩潰恢復(fù)和fsync

5. 如何做可靠的分布式鎖,Redlock真的可行么

5.1 用鎖保護(hù)資源

5.2 使用Fencing (柵欄)使得鎖變安全

5.3 使用時(shí)間來解決一致性

5.4 用不可靠的時(shí)間打破Redlock

5.5 Redlock 的同步性假設(shè)

5.6 結(jié)論

6. 神奇的HyperLoglog解決統(tǒng)計(jì)問題

6.1 HyperLogLog 簡(jiǎn)介

6.1.1 關(guān)于基數(shù)統(tǒng)計(jì)

6.1.2 基數(shù)統(tǒng)計(jì)的常用方法

6.1.3 概率算法

6.2 HyperLogLog 原理

6.2.1 代碼實(shí)驗(yàn)

6.2.2 更近一步:分桶平均

6.2.3 真實(shí)的HyperLogLog

6.3 Redis 中的HyperLogLog 實(shí)現(xiàn)

6.3.1 密集型存儲(chǔ)結(jié)構(gòu)

6.3.2 稀疏存儲(chǔ)結(jié)構(gòu)

6.3.3 對(duì)象頭

6.4 HyperLogLog 的使用

7. 億級(jí)數(shù)據(jù)過濾和布隆過濾器

7.1 布隆過濾器簡(jiǎn)介

7.1.1 布隆過濾器是什么7.1.2 布隆過濾器的使用場(chǎng)景

7.2 布隆過濾器原理解析

7.3 布隆過濾器的使用

7.3.1 布隆過濾器的基本用法

7.4 布隆過濾器代碼實(shí)現(xiàn)

7.4.1 自己簡(jiǎn)單模擬實(shí)現(xiàn)

7.4.2 手動(dòng)實(shí)現(xiàn)參考

7.4.3 使用Google 開源的Guava 中自帶的布隆過濾器

8. GeoHash查找附近的人

8.1 使用數(shù)據(jù)庫實(shí)現(xiàn)查找附近的人

8.2 GeoHash 算法簡(jiǎn)述

8.3 在Redis 中使用Geo

8.3.1 增加

8.3.2 距離

8.3.3 獲取元素位置

8.3.4 獲取元素的hash 值

8.3.5 附近的公司

8.3.6 注意事項(xiàng)

9. 持久化

9.1 持久化簡(jiǎn)介

9.1.1 持久化發(fā)生了什么| 從內(nèi)存到磁盤

9.1.2 如何盡可能保證持久化的安全

9.2 Redis 中的兩種持久化方式

9.2.1方式一:快照

9.2.2 方式二:AOF

9.2.3 Redis 4.0 混合持久化

10. 發(fā)布訂閱與Stream

10.1 Redis 中的發(fā)布/訂閱功能

10.1.1 PubSub 簡(jiǎn)介

10.1.2 快速體驗(yàn)

10.1.3 實(shí)現(xiàn)原理

10.1.4 訂閱頻道原理

10.1.5 訂閱模式原理

10.1.6 PubSub 的缺點(diǎn)

10.2 更為強(qiáng)大的Stream | 持久化的發(fā)布/訂閱系統(tǒng)

10.2.1 消息ID 和消息內(nèi)容

10.2.2 增刪改查示例

10.2.3 獨(dú)立消費(fèi)示例

10.2.4 創(chuàng)建消費(fèi)者示例

10.2.5 組內(nèi)消費(fèi)示例

10.2.6 QA 1:Stream 消息太多怎么辦放可?| Stream 的上限

10.2.7 QA 2:PEL 是如何避免消息丟失的谒臼?

10.2.8 Redis Stream Vs Kafka

11. [集群]入門實(shí)踐教程

11.1 Redis 集群概述

11.1.1 Redis 主從復(fù)制

11.1.2 Redis 哨兵

11.1.3 Redis 集群化

11.2 主從復(fù)制

11.2.1 主從復(fù)制主要的作用

11.2.2 快速體驗(yàn)

11.2.3 實(shí)現(xiàn)原理簡(jiǎn)析

11.3 Redis Sentinel 哨兵

11.3.1 快速體驗(yàn)

11.3.2 客戶端訪問哨兵系統(tǒng)代碼演示

11.3.3 新的主服務(wù)器是怎樣被挑選出來的?

11.4 Redis 集群

11.4.1 基本原理11.4.2 集群的主要作用

11.4.3 快速體驗(yàn)

11.4.5 數(shù)據(jù)分區(qū)方案簡(jiǎn)析

11.4.6 節(jié)點(diǎn)通信機(jī)制簡(jiǎn)析

11.4.7 數(shù)據(jù)結(jié)構(gòu)簡(jiǎn)析

12. Redis數(shù)據(jù)類型耀里、編碼蜈缤、底層數(shù)據(jù)結(jié)構(gòu)

12.1 Redis構(gòu)建的類型系統(tǒng)

12.1.1 redisObject對(duì)象

12.1.2 命令的類型檢查和多態(tài)

12.2 5種數(shù)據(jù)類型對(duì)應(yīng)的編碼和數(shù)據(jù)結(jié)構(gòu)

12.2.1string

12.2.2 listlist列表,它是簡(jiǎn)單的字符串列表,你可以添加一個(gè)元素到列表的頭部冯挎,或者尾部锐帜。

12.2.3 set

12.2.4 zset

12.2.5 hash

12.3 內(nèi)存回收和內(nèi)存共享

六、系統(tǒng)設(shè)計(jì)

(一). RestFul API

1. 重要概念

2. REST 接口規(guī)范

2.1 動(dòng)作

2.2 路徑(接口命名)

2.3 過濾信息(Filtering)

2.4 狀態(tài)碼(Status Codes)

3. HATEOAS

(二). 常用框架

1. Spring常見問題

1.1 什么是Spring 框架?

1.2 列舉一些重要的Spring模塊颗品?

1.3 @RestController vs @Controller

1.4 Spring IOC & AOP

1.4.1 談?wù)勛约簩?duì)于Spring IoC 和AOP 的理解

1.4.2 Spring AOP 和AspectJ AOP 有什么區(qū)別?

1.5 Spring bean

1.5.1 Spring 中的bean 的作用域有哪些?

1.5.2 Spring 中的單例bean 的線程安全問題了解嗎续滋?

1.5.3 @Component 和@Bean 的區(qū)別是什么?

1.5.4 將一個(gè)類聲明為Spring的bean 的注解有哪些?

1.5.5 ### 5.5 Spring 中的bean 生命周期?

1.6 Spring MVC

1.6.1 說說自己對(duì)于Spring MVC 了解?

1.6.2 SpringMVC 工作原理了解嗎?

1.7 Spring 框架中用到了哪些設(shè)計(jì)模式孵奶?

1.8 Spring 事務(wù)

1.8.1 Spring 管理事務(wù)的方式有幾種疲酌?

1.8.2 Spring 事務(wù)中的隔離級(jí)別有哪幾種?

1.8.3 Spring 事務(wù)中哪幾種事務(wù)傳播行為?

1.8.4 @Transactional(rollbackFor = Exception.class)注解了解嗎?

1.9 JPA

1.9.1 如何使用JPA在數(shù)據(jù)庫中非持久化一個(gè)字段了袁?

2. Spring常用注解

2.1 @SpringBootApplication

2.2 Spring Bean 相關(guān)

2.2.1 @Autowired

2.2.2 Component , @Repository , @Service , @Controller

2.2.3 @RestController

2.2.4 @Scope2.2.5 Configuration

2.3 處理常見的HTTP 請(qǐng)求類型

2.3.1 GET 請(qǐng)求

2.3.2 POST 請(qǐng)求

2.3.3 PUT 請(qǐng)求

2.3.4 DELETE 請(qǐng)求

2.3.5 PATCH 請(qǐng)求

2.4 前后端傳值

2.4.1 @PathVariable 和@RequestParam

2.4.2 @RequestBody

2.5 讀取配置信息

2.5.1 @value (常用)

2.5.2 @ConfigurationProperties (常用)

2.5.3 PropertySource (不常用)

2.6 參數(shù)校驗(yàn)

2.6.1 一些常用的字段驗(yàn)證的注解

2.6.2 驗(yàn)證請(qǐng)求體(RequestBody)

2.6.3 驗(yàn)證請(qǐng)求參數(shù)(Path Variables 和Request Parameters)

2.7 全局處理Controller 層異常

2.8 JPA 相關(guān)

2.8.1 創(chuàng)建表

2.8.2 創(chuàng)建主鍵

2.8.3 設(shè)置字段類型

2.8.4 指定不持久化特定字段

2.8.5 聲明大字段

2.8.6 創(chuàng)建枚舉類型的字段

2.8.7 增加審計(jì)功能

2.8.8 刪除/修改數(shù)據(jù)

2.8.9 關(guān)聯(lián)關(guān)系

2.9 事務(wù)@Transactional

2.10 json 數(shù)據(jù)處理

2.10.1 過濾json 數(shù)據(jù)

2.10.2 格式化json 數(shù)據(jù)

2.10.3 扁平化對(duì)象

2.11 測(cè)試相關(guān)

3. Spring事務(wù)

3.1 什么是事務(wù)朗恳?

3.2 事物的特性(ACID)了解么?

3.3 詳談Spring 對(duì)事務(wù)的支持

3.3.1. Spring 支持兩種方式的事務(wù)管理

3.3.2 Spring 事務(wù)管理接口介紹

3.3.3 事務(wù)屬性詳解

3.3.4 @Transactional 注解使用詳解

4. Spring IOC和AOP詳解

4.1 什么是IOC

4.1.1 為什么叫控制反轉(zhuǎn)

4.2 IOC 解決了什么問題

4.3 IOC 和DI 的區(qū)別

4.4 什么是AOP

4.5 AOP解決了什么問題

4.6 AOP為什么叫面向切面編程

5. Spring中Bean 的作用域與生命周期

5.1 前言

5.2 bean的作用域

5.2.1 singleton——唯一bean 實(shí)例

5.2.2 prototype——每次請(qǐng)求都會(huì)創(chuàng)建一個(gè)新的bean 實(shí)例5.2.3 request——每一次HTTP請(qǐng)求都會(huì)產(chǎn)生一個(gè)新的bean,該bean僅在當(dāng)前HTTP request內(nèi)

有效

5.2.4 session——每一次HTTP請(qǐng)求都會(huì)產(chǎn)生一個(gè)新的bean载绿,該bean僅在當(dāng)前HTTP session 內(nèi)

有效

5.2.5 globalSession

5.3 bean的生命周期

5.3.1 initialization 和destroy

5.3.2 實(shí)現(xiàn)*Aware接口在Bean中使用Spring框架的一些對(duì)象

5.3.3 BeanPostProcessor

5.3.4 總結(jié)

5.3.5 單例管理的對(duì)象

5.3.6 非單例管理的對(duì)象

6. SpringMVC 工作原理詳解

6.1 先來看一下什么是MVC 模式

6.2 SpringMVC 簡(jiǎn)單介紹

6.3 SpringMVC 使用

6.4 SpringMVC 工作原理(重要)

6.5 SpringMVC 重要組件說明

6.6 DispatcherServlet詳細(xì)解析

7. Spring中都用到了那些設(shè)計(jì)模式?

7.1 控制反轉(zhuǎn)(IoC)和依賴注入(DI)

7.2 工廠設(shè)計(jì)模式

7.3 單例設(shè)計(jì)模式

7.4 代理設(shè)計(jì)模式

7.4.1 代理模式在AOP 中的應(yīng)用

7.4.2 Spring AOP 和AspectJ AOP 有什么區(qū)別?

7.5 模板方法

7.6 觀察者模式

7.6.1 Spring 事件驅(qū)動(dòng)模型中的三種角色

7.6.2 Spring 的事件流程總結(jié)

7.7 適配器模式

7.7.1 spring AOP中的適配器模式

7.7.2 spring MVC中的適配器模式

7.8 裝飾者模式

7.9 總結(jié)

(三). 認(rèn)證授權(quán)(JWT僻肖、SSO)

1. JWT 身份認(rèn)證優(yōu)缺點(diǎn)分析以及常見問題解決方案

1.1 Token 認(rèn)證的優(yōu)勢(shì)

1.1.1 無狀態(tài)

1.1.2 有效避免了CSRF 攻擊

1.1.3 適合移動(dòng)端應(yīng)用

1.1.4 單點(diǎn)登錄友好

1.2 Token 認(rèn)證常見問題以及解決辦法

1.2.1 注銷登錄等場(chǎng)景下token 還有效

1.2.2 token 的續(xù)簽問題

1.3 總結(jié)

2. SSO 單點(diǎn)登錄

2.1 前言

2.1.1 SSO說明

2.1.2 單點(diǎn)登錄系統(tǒng)的好處

2.1.3 設(shè)計(jì)目標(biāo)

2.2 SSO設(shè)計(jì)與實(shí)現(xiàn)

2.2.1 核心應(yīng)用與依賴

2.2.2 用戶登錄狀態(tài)的存儲(chǔ)與校驗(yàn)

2.2.3 用戶登錄/登錄校驗(yàn)

2.2.4 用戶登出

2.2.5 跨域登錄、登出

2.3 備注(四). 分布式

1. 分布式相關(guān)概念入門

1.1 分布式系統(tǒng)的經(jīng)典基礎(chǔ)理論

1.2 分布式事務(wù)

1.3 一致性協(xié)議/算法

1.4 分布式存儲(chǔ)

1.5 分布式計(jì)算

2. Dubbo

2.1 重要的概念

2.1.1 什么是Dubbo?

2.1.2 什么是RPC?RPC原理是什么?

2.1.3 為什么要用Dubbo?

2.1.4 什么是分布式?

2.1.5 為什么要分布式?

2.2 Dubbo 的架構(gòu)

2.2.1 Dubbo 的架構(gòu)圖解

2.2.2 Dubbo 工作原理

2.3 Dubbo 的負(fù)載均衡策略

2.3.1 先來解釋一下什么是負(fù)載均衡

2.3.2 再來看看Dubbo 提供的負(fù)載均衡策略

2.3.3 配置方式

2.4 zookeeper宕機(jī)與dubbo直連的情況

3.消息隊(duì)列其實(shí)很簡(jiǎn)單

3.1 什么是消息隊(duì)列

3.2 為什么要用消息隊(duì)列

3.2.1 通過異步處理提高系統(tǒng)性能(削峰卢鹦、減少響應(yīng)所需時(shí)間)

3.2.2 降低系統(tǒng)耦合性

3.3 使用消息隊(duì)列帶來的一些問題

3.4 JMS VS AMQP

3.4.1 JMS

3.4.2 AMQP

3.4.3 JMS vs AMQP

3.5 常見的消息隊(duì)列對(duì)比

4. RabbitMQ

4.1 RabbitMQ 介紹

4.1.1 RabbitMQ 簡(jiǎn)介

4.1.2 RabbitMQ 核心概念

4.2 安裝RabbitMq

4.2.1 安裝erlang

4.2.2 安裝RabbitMQ

5. RocketMQ

5.1 消息隊(duì)列掃盲

5.1.1 消息隊(duì)列為什么會(huì)出現(xiàn)臀脏?

5.1.2 消息隊(duì)列能用來干什么?

5.2 RocketMQ是什么冀自?

5.3 隊(duì)列模型和主題模型

5.3.1 隊(duì)列模型

5.3.2 主題模型

5.3.3 RocketMQ中的消息模型

5.4 RocketMQ的架構(gòu)圖

5.5 如何解決順序消費(fèi)揉稚、重復(fù)消費(fèi)

5.5.1 順序消費(fèi)

5.5.2 重復(fù)消費(fèi)

5.6 分布式事務(wù)

5.7 消息堆積問題

5.8 回溯消費(fèi)

5.9 RocketMQ 的刷盤機(jī)制

5.9.1 同步刷盤和異步刷盤5.9.2 同步復(fù)制和異步復(fù)制

5.9.3 存儲(chǔ)機(jī)制

5.10 總結(jié)

6. Kafka

6.1 Kafka 簡(jiǎn)介

6.1.1 Kafka 創(chuàng)建背景

6.1.2 Kafka 簡(jiǎn)介

6.1.3 Kafka 基礎(chǔ)概念

6.2 Kafka 的設(shè)計(jì)與實(shí)現(xiàn)

6.2.1 討論一:Kafka 存儲(chǔ)在文件系統(tǒng)上

6.2.2 討論二:Kafka 中的底層存儲(chǔ)設(shè)計(jì)

6.2.3 討論三:生產(chǎn)者設(shè)計(jì)概要

6.2.4 討論四:消費(fèi)者設(shè)計(jì)概要

6.2.5 討論五:Kafka 如何保證可靠性

6.3 動(dòng)手搭一個(gè)Kafka

6.3.1 第一步:下載Kafka

6.3.2 第二步:?jiǎn)?dòng)服務(wù)

6.3.3 第三步:發(fā)送消息

7. API網(wǎng)關(guān)

7.1 背景

7.1.1 什么是API網(wǎng)關(guān)

7.1.2 為什么需要API網(wǎng)關(guān)

7.1.3 統(tǒng)一API網(wǎng)關(guān)

7.2 統(tǒng)一網(wǎng)關(guān)的設(shè)計(jì)

7.2.1 異步化請(qǐng)求

7.2.2 鏈?zhǔn)教幚?/p>

7.2.3 業(yè)務(wù)隔離

7.2.4 請(qǐng)求限流

7.2.5 熔斷降級(jí)

7.2.6 泛化調(diào)用

7.2.7 管理平臺(tái)

7.3 總結(jié)

8. 分布式ID

8.1 數(shù)據(jù)庫自增ID

8.2 數(shù)據(jù)庫多主模式

8.3 號(hào)段模式

8.4 雪花算法

8.5 百度(uid-generator)

8.6 美團(tuán)(Leaf)

8.7 總結(jié)

8.8 Redis

9. 限流的算法有哪些?

9.1 固定窗口計(jì)數(shù)器算法

9.2 滑動(dòng)窗口計(jì)數(shù)器算法

9.3 漏桶算法

9.4 令牌桶算法

10. Zookeeper

10.1 前言

10.2 什么是ZooKeeper

10.2.1 ZooKeeper 的由來

10.2.2 ZooKeeper 概覽

10.2.3 結(jié)合個(gè)人使用情況的講一下ZooKeeper

10.3 關(guān)于ZooKeeper 的一些重要概念

10.3.1 重要概念總結(jié)

10.3.2 會(huì)話(Session)

10.3.3 Znode

10.3.4 版本

10.3.5 Watcher10.3.6 ACL

10.4 ZooKeeper 特點(diǎn)

10.5 ZooKeeper 設(shè)計(jì)目標(biāo)

10.5.1 簡(jiǎn)單的數(shù)據(jù)模型

10.5.2 可構(gòu)建集群

10.5.3 順序訪問

10.5.4 高性能

10.6 ZooKeeper 集群角色介紹

10.7 ZooKeeper &ZAB 協(xié)議&Paxos算法

10.7.1 ZAB 協(xié)議&Paxos算法

10.7.2 ZAB 協(xié)議介紹

10.7.3 ZAB 協(xié)議兩種基本的模式:崩潰恢復(fù)和消息廣播

10.8 總結(jié)

(五). 大型網(wǎng)站架構(gòu)

1. 如何設(shè)計(jì)一個(gè)高可用系統(tǒng)熬粗?要考慮哪些地方搀玖?

1.1 什么是高可用?可用性的判斷標(biāo)準(zhǔn)是啥驻呐?

1.2 哪些情況會(huì)導(dǎo)致系統(tǒng)不可用灌诅?

1.3 有哪些提高系統(tǒng)可用性的方法?

1.3.1 注重代碼質(zhì)量含末,測(cè)試嚴(yán)格把關(guān)

1.3.2 使用集群猜拾,減少單點(diǎn)故障

1.3.3 限流

1.3.4 超時(shí)和重試機(jī)制設(shè)置

1.3.5 熔斷機(jī)制

1.3.6 異步調(diào)用

1.3.7 使用緩存

1.3.8 其他

1.4 總結(jié)

(六). 微服務(wù)

1. Spring Cloud

1.1 什么是Spring cloud

1.2 Spring Cloud 的版本

1.3 Spring Cloud 的服務(wù)發(fā)現(xiàn)框架——Eureka

1.4 負(fù)載均衡之Ribbon

1.4.1 什么是RestTemplate ?

1.4.2 為什么需要Ribbon?

1.4.3 Nginx 和Ribbon 的對(duì)比

1.4.4 Ribbon 的幾種負(fù)載均衡算法

1.5 什么是Open Feign

1.6 必不可少的Hystrix

1.6.1 什么是Hystrix之熔斷和降級(jí)

1.6.2 什么是Hystrix之其他

1.7 微服務(wù)網(wǎng)關(guān)——Zuul

1.7.1 Zuul 的路由功能

1.7.2 Zuul 的過濾功能

1.7.3 關(guān)于Zuul 的其他

1.7.4 為什么要使用進(jìn)行配置管理佣盒?

1.7.5 Confifig 是什么

1.8 引出Spring Cloud Bus

1.9 總結(jié)

七挎袜、必會(huì)工具

(一). Git

1. 版本控制

1.1 什么是版本控制

1.2 為什么要版本控制

1.3 本地版本控制系統(tǒng)

1.4 集中化的版本控制系統(tǒng)

1.5 分布式版本控制系統(tǒng)

2. 認(rèn)識(shí)Git2.1 Git 簡(jiǎn)史

2.2 Git 與其他版本管理系統(tǒng)的主要區(qū)別

2.3 Git 的三種狀態(tài)

3. Git 使用快速入門

3.1 獲取Git 倉庫

3.2 記錄每次更新到倉庫

3.3 一個(gè)好的Git 提交消息

3.4 推送改動(dòng)到遠(yuǎn)程倉庫

3.5 遠(yuǎn)程倉庫的移除與重命名

3.6 查看提交歷史

3.7 撤銷操作

3.8 分支

(二). Docker

1. 認(rèn)識(shí)容器

1.1 什么是容器?

1.1.1 先來看看容器較為官方的解釋

1.1.2 再來看看容器較為通俗的解釋

1.2 圖解物理機(jī),虛擬機(jī)與容器

2. 再來談?wù)凞ocker 的一些概念

2.1 什么是Docker?

2.2 Docker 思想

2.3 Docker 容器的特點(diǎn)

2.4 為什么要用Docker ?

3. 容器VS 虛擬機(jī)

3.1 兩者對(duì)比圖

3.2 容器與虛擬機(jī)總結(jié)

3.3 容器與虛擬機(jī)兩者是可以共存的

4. Docker 基本概念

4.1 鏡像(Image):一個(gè)特殊的文件系統(tǒng)

4.2 容器(Container):鏡像運(yùn)行時(shí)的實(shí)體

4.3 倉庫(Repository):集中存放鏡像文件的地方

5. 常見命令

5.1 基本命令

5.2 拉取鏡像

5.3 刪除鏡像

6. Build Ship and Run

7. 簡(jiǎn)單了解一下Docker 底層原理

7.1 虛擬化技術(shù)

7.2 Docker 基于LXC 虛擬容器技術(shù)

8. 總結(jié)

八、面試指南

(一). 程序員簡(jiǎn)歷該怎么寫

1. 為什么說簡(jiǎn)歷很重要肥惭?

1.1 先從面試前來說

1.2 再?gòu)拿嬖囍衼碚f

2. 下面這幾點(diǎn)你必須知道

3. 必須了解的兩大法則

3.1 STAR法則(Situation Task Action Result)

3.2 FAB 法則(Feature Advantage Benefifit)

4. 項(xiàng)目經(jīng)歷怎么寫盯仪?

5. 專業(yè)技能該怎么寫?

6. 排版注意事項(xiàng)

7. 其他的一些小tips

(二). 如何準(zhǔn)備面試

1. 如何獲取大廠面試機(jī)會(huì)蜜葱?

2. 面試前的準(zhǔn)備

2.1 準(zhǔn)備自己的自我介紹

2.2 搞清楚技術(shù)面可能會(huì)問哪些方向的問題2.3 休閑著裝即可

2.4 隨身帶上自己的成績(jī)單和簡(jiǎn)歷

2.5 如果需要筆試就提前刷一些筆試題

2.6 花時(shí)間一些邏輯題

2.7 準(zhǔn)備好自己的項(xiàng)目介紹

2.8 提前準(zhǔn)備技術(shù)面試

2.9 面試之前做好定向復(fù)習(xí)

3. 面試之后復(fù)盤

4. 如何學(xué)習(xí)?學(xué)會(huì)各種框架有必要嗎?

4.1 我該如何學(xué)習(xí)全景?

4.2 學(xué)會(huì)各種框架有必要嗎?

(三). Java學(xué)習(xí)路線和方法推薦

1.Java 基礎(chǔ)

2. 操作系統(tǒng)與計(jì)算機(jī)網(wǎng)絡(luò)

3. 數(shù)據(jù)結(jié)構(gòu)與算法

4. 前端知識(shí)

5. MySQL

6. 常用工具

7. 常用框架

8. 多線程的簡(jiǎn)單使用

9. 分布式

10. 深入學(xué)習(xí)

11. 微服務(wù)

12. 總結(jié)

喜歡請(qǐng)關(guān)注“蛋皮皮”公眾號(hào)牵囤。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末爸黄,一起剝皮案震驚了整個(gè)濱河市滞伟,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌馆纳,老刑警劉巖诗良,帶你破解...
    沈念sama閱讀 216,470評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件汹桦,死亡現(xiàn)場(chǎng)離奇詭異鲁驶,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)舞骆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門钥弯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人督禽,你說我怎么就攤上這事脆霎。” “怎么了狈惫?”我有些...
    開封第一講書人閱讀 162,577評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵睛蛛,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我胧谈,道長(zhǎng)忆肾,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,176評(píng)論 1 292
  • 正文 為了忘掉前任菱肖,我火速辦了婚禮客冈,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘稳强。我一直安慰自己场仲,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,189評(píng)論 6 388
  • 文/花漫 我一把揭開白布退疫。 她就那樣靜靜地躺著渠缕,像睡著了一般。 火紅的嫁衣襯著肌膚如雪褒繁。 梳的紋絲不亂的頭發(fā)上褐健,一...
    開封第一講書人閱讀 51,155評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音澜汤,去河邊找鬼蚜迅。 笑死,一個(gè)胖子當(dāng)著我的面吹牛俊抵,可吹牛的內(nèi)容都是我干的谁不。 我是一名探鬼主播,決...
    沈念sama閱讀 40,041評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼徽诲,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼刹帕!你這毒婦竟也來了吵血?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,903評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤偷溺,失蹤者是張志新(化名)和其女友劉穎蹋辅,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體挫掏,經(jīng)...
    沈念sama閱讀 45,319評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡侦另,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,539評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了尉共。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片褒傅。...
    茶點(diǎn)故事閱讀 39,703評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖袄友,靈堂內(nèi)的尸體忽然破棺而出殿托,到底是詐尸還是另有隱情,我是刑警寧澤剧蚣,帶...
    沈念sama閱讀 35,417評(píng)論 5 343
  • 正文 年R本政府宣布支竹,位于F島的核電站,受9級(jí)特大地震影響鸠按,放射性物質(zhì)發(fā)生泄漏礼搁。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,013評(píng)論 3 325
  • 文/蒙蒙 一待诅、第九天 我趴在偏房一處隱蔽的房頂上張望叹坦。 院中可真熱鬧,春花似錦卑雁、人聲如沸募书。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,664評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽莹捡。三九已至,卻和暖如春扣甲,著一層夾襖步出監(jiān)牢的瞬間篮赢,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,818評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工琉挖, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留启泣,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,711評(píng)論 2 368
  • 正文 我出身青樓示辈,卻偏偏與公主長(zhǎng)得像寥茫,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子矾麻,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,601評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容