NIO高並發WebSocket框架開發(微課視頻版)
劉寧萌
商品描述
"本書全面系統地介紹了Java網絡套接字相關的核心知識點,把官方BIO、NIO的核心知識點用鏈路的方式講解清楚。讀者在學習的過程中需要循序漸進,核心知識點的理解是很重要的。由核心知識點擴展開來就可以形成萬物。學習和創造希望讀者在此過程中能擁有自己的成長和思維。 全書共18章。第1章多線程並發經典案例、第2~5章IO字節輸入輸出流、第6章框架基石反射機制、第7章類加載器、第8章網絡基礎知識、第9章BIO下的Socket套接字、第10章NIO下的緩沖區、第11章NIO下的字符編解碼、第12章NIO下的Socket套接字通道、第13章泛型聲明、第14章List集合框架、第15章Set集合框架、第16章Map集合框架、第17章開源WebSocket框架實戰、第18章JDK21中的虛擬線程。 本書每個章節都有相對應的代碼驗證環節,提供了大量應用實例,每章節均附有習題。 本書適合有一定的Java基礎知識,包括語法、結構、面向對象編程概念、多線程並發和網絡通信基礎的讀者閱讀。本書可作為想自研NIO套接字框架、自定義協議、網絡通信服務相關的軟件開發人員參考用書。 "
作者簡介
劉寧萌,資深Java工程師。熱愛軟件技術行業,機緣巧合進入此行業,希望能給此行業帶來一些值得分享的東西。多年Java從業經驗,多個開源項目發起人,其中cpdog開源項目已獲得JetBrains官方開源許可證。
目錄大綱
本書源碼
第1章並發擴展(61min)
1.1單例雙重檢查鎖
1.1.1第一階段
1.1.2第二階段
1.1.3第三階段
1.1.4最終階段
1.1.5擴展happensbefore
1.2LockSupport鎖
小結
習題
第2章IO字節輸入流(163min)
2.1File類
2.1.1構造器
2.1.2常用方法
2.1.3搜索工具類
2.2InputStream抽象類
2.3FileInputStream類
2.3.1構造器
2.3.2常用方法
2.4ByteArrayInputStream類
2.4.1構造器
2.4.2常用方法
2.5SequenceInputStream類
2.5.1構造器
2.5.2常用方法
2.6ObjectInputStream類
2.6.1初始化數據
2.6.2構造器
2.6.3常用方法
2.6.4自定義序列化對象
小結
習題
第3章IO字節輸出流(64min)
3.1OutputStream抽象類
3.2FileOutputStream類
3.2.1構造器
3.2.2常用方法
3.3ByteArrayOutputStream類
3.3.1構造器
3.3.2常用方法
3.4ObjectOutputStream類
3.4.1構造器
3.4.2常用方法
3.5字符編碼轉換工具類
小結
習題
第4章IO字符輸入流(32min)
4.1Reader抽象類
4.2InputStreamReader類
4.2.1構造器
4.2.2常用方法
4.3BufferedReader類
4.3.1構造器
4.3.2常用方法
小結
習題
第5章IO字符輸出流(31min)
5.1Writer抽象類
5.2OutputStreamWriter類
5.2.1構造器
5.2.2常用方法
5.3CharArrayWriter類
5.3.1構造器
5.3.2常用方法
小結
習題
第6章反射機制(92min)
6.1Class類
6.1.1使用場景
6.1.2類型信息
6.1.3元數據信息
6.2Constructor類
6.3Field類
6.4Method類
小結
習題
第7章ClassLoader類加載器(72min)
7.1ClassLoader抽象類
7.1.1基本介紹
7.1.2自定義加載器
7.1.3URLClassLoader類
7.2Annotation接口
7.2.1註解的限制
7.2.2內置註解
7.2.3自定義註解
小結
習題
第8章網絡基礎(142min)
8.1InetAddress類
8.1.1核心方法
8.1.2DNS服務
8.2NetworkInterface類
8.3URI類
8.3.1構造器
8.3.2常用方法
8.4URL類
8.4.1構造器
8.4.2常用方法
8.5JarURLConnection抽象類
8.5.1協議規則
8.5.2常用方法
8.6UDP
8.6.1DatagramSocket類
8.6.2DatagramPacket類
小結
習題
第9章Socket套接字(65min)
9.1ServerSocket類
9.1.1構造器
9.1.2常用方法
9.2Socket類
9.2.1構造器
9.2.2常用方法
9.2.3TCP/IP
小結
習題
第10章NIO包(200min)
10.1Buffer抽象類
10.2ByteBuffer抽象類
10.3CharBuffer抽象類
10.4IntBuffer抽象類
10.5LongBuffer抽象類
10.6ShortBuffer抽象類
10.7FloatBuffer抽象類
10.8DoubleBuffer抽象類
小結
習題
第11章文字編解碼(88min)
11.1Charset字符集
11.2CharsetEncoder編碼器
11.3CoderResult類
11.4CharsetDecoder解碼器
小結
習題
第12章網絡通道(99min)
12.1FileChannel抽象類
12.2StandardOpenOption枚舉類
12.3FileLock抽象類
12.4ServerSocketChannel抽象類
12.4.1常用方法
12.4.2使用示例
12.5Selector抽象類
12.6SelectionKey抽象類
12.6.1操作集標識
12.6.2常用方法
12.7SocketChannel抽象類
12.7.1常用方法
12.7.2使用示例
小結
習題
第13章泛型(47min)
13.1泛型類聲明
13.1.1普通類演示
13.1.2泛型類演示
13.2泛型類型限制
13.2.1固定泛型類型
13.2.2通用泛型類型
13.2.3泛型上限控制
13.2.4泛型下限控制
13.3泛型聲明的幾種方式
13.3.1泛型類
13.3.2泛型靜態方法
13.3.3泛型對象方法
小結
習題
第14章List集合框架(142min)
14.1List接口
14.2ArrayList類
14.2.1構造器
14.2.2常用方法
14.3LinkedList類
14.3.1構造器
14.3.2常用方法
14.4Vector類
14.4.1構造器
14.4.2常用方法
14.5Iterator接口
14.6ListIterator接口
小結
習題
第15章Set集合框架(75min)
15.1Set接口
15.2HashSet類
15.2.1構造器
15.2.2常用方法
15.3LinkedHashSet類
15.3.1構造器
15.3.2常用方法
15.4TreeSet類
15.4.1構造器
15.4.2常用方法
小結
習題
第16章Map集合框架(124min)
16.1Map接口
16.2HashMap類
16.2.1數據結構
16.2.2構造器
16.2.3常用方法
16.2.4TreeNode類
16.3LinkedHashMap類
16.3.1數據結構
16.3.2構造器
16.3.3常用方法
16.4TreeMap類
16.4.1數據結構
16.4.2構造器
16.4.3常用方法
小結
習題
第17章開源WebSocket框架(115min)
17.1IM聊天軟件
17.1.1前端展示
17.1.2後端介紹
17.2WebSocket協議
17.2.1WebSocket握手
17.2.2WebSocket數據交互
17.3後端服務
17.3.1啟動流程
17.3.2Boss服務
17.3.3TLS握手
17.3.4Work服務
17.3.5事件服務
小結
習題
第18章虛擬線程(51min)
18.1創建虛擬線程
18.2虛擬線程特點
18.3配置承運方線程
小結