注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡軟件與程序設計C/C++及其相關計算之道 卷III:C++語言與JVM源碼

計算之道 卷III:C++語言與JVM源碼

計算之道 卷III:C++語言與JVM源碼

定 價:¥119.00

作 者: 黃俊 賴志環(huán)
出版社: 清華大學出版社
叢編項:
標 簽: 暫缺

購買這本書可以去


ISBN: 9787302683001 出版時間: 2025-05-01 包裝: 平裝-膠訂
開本: 16開 頁數: 字數:  

內容簡介

  《計算之道卷 Ⅲ:C語言與 JVM 源碼》是一本深入探討計算機科學與技術的圖書。本書旨在幫助讀者更深入地理解計算機內部的工作原理,并探索從高級編程語言到 JVM 源碼等核心概念。本書適合對計算機科學和底層技術感興趣的讀者,無論是學習計算機基礎知識還是進一步擴展技術視野,都能從本書中獲益良多。在《計算之道卷Ш:C語言與JM 源碼》中,作者以清晰易懂的語言詳細介紹了高級編程語言的工作原理。通過本書,讀者將了解編程語言的特性和原理、計算機網絡、JVM 等關鍵概念,從而更好地理解計算機執(zhí)行程序的方式。以及將學習JVM 源碼,并了解 hotspot、全局模塊等底層機制。結合實例和案例研究,讀者將能夠編寫高效、可靠的高性能應用程序。無論是學生、工程師還是對計算機科學感興趣的讀者,本書都將成為你不可或缺的參考資源。

作者簡介

  黃俊專注于研究Java語言專注于研究Hotspot專注于研究Linux內核專注于研究C語言與匯編專注于研究架構設計專注于研究多線程并發(fā)處理專注于研究高效學習方式曾就職于美團、阿里前新東方業(yè)務架構師賴志環(huán)十年游戲及互聯網應用的技術研發(fā)經歷。負責過5000以上注冊用戶,日活躍用戶達800萬,10萬多用戶同時在線,年流水達1億的游戲產品研發(fā)。熟悉技術研發(fā)的多重領域。自2016年至今創(chuàng)辦深圳帝國互娛網絡在線有限公司,聯合創(chuàng)始人負責技術部。

圖書目錄

第1 章 C 語言的推理 1
1.1 編程語言演變過程 1
1.2 C 語言出現的原因 3
1.2.1 C 語言圖書管理系統(tǒng) 4
1.2.2 C 語言的出現原因 5
1.2.3 C 語言圖書管理系統(tǒng) 7
1.3 面向過程和面向對象 8
1.4 C 語言特性來源 11
1.5 其他編程語言原理推導 12
1.6 編程語言的共性 13
1.7 小結 15
第2 章 C 語言的特性和原理 17
2.1 對象和類原理 17
2.1.1 C 語言的class 關鍵字 19
2.1.2 C 語言的new/delete運算符 19
2.1.3 C 語言的this 指針 22
2.2 異常處理 23
2.2.1 C 語言異常處理 23
2.2.2 Java 異常處理 24
2.3 C 語言的特性 26
2.3.1 C 語言的hello world 26
2.3.2 C 語言的數據類型 27
2.3.3 C 語言的指針和引用 28
2.3.4 C 語言的類與對象 29
2.3.5 C 語言的多態(tài) 31
2.3.6 C 語言的泛型編程 32
2.4 匯編、C 和C 語言存在的問題 35
2.4.1 匯編語言 35
2.4.2 C 語言 36
2.4.3 C 語言 37
2.4.4 最常見的問題 38
2.5 Java 語言出現的推論 40
2.5.1 內存泄漏和野指針規(guī)避 40
2.5.2 新語言的設計要求 42
2.5.3 新語言的兩種實現方法 43
2.6 如何通過底層來學習不同的編程語言 45
2.7 小結 48
第3 章 計算機網絡推理 50
3.1 計算機網絡的研究內容 50
3.2 計算機網絡協(xié)議 52
3.2.1 什么是協(xié)議 52
3.2.2 誰來制定協(xié)議 53
3.2.3 協(xié)議分層 54
3.3 計算機網絡地址 56
3.3.1 MAC 地址 56
3.3.2 IP 地址 58
3.3.3 ARP 59
3.4 數據傳輸 61
3.5 計算機網絡下三層 61
3.6 小結 62
第4 章 傳輸協(xié)議原理 64
4.1 UDP 65
4.1.1 四元組 65
4.1.2 UDP 的特點 66
4.1.3 UDP 的使用場景 66
4.2 TCP 68
4.2.1 TCP 包頭部分 68
4.2.2 建立TCP 鏈接 69
4.2.3 釋放TCP 連接 71
4.2.4 TCP 狀態(tài)機 73
4.3 TCP 可靠傳輸重傳機制 75
4.4 TCP 可靠傳輸—滑動窗口 82
4.5 TCP 可靠傳輸—流量控制 85
4.6 TCP 可靠傳輸—擁塞控制 86
4.6.1 TCP 的擁塞控制原理 87
4.6.2 擁塞控制的算法 88
4.7 TCP 和UDP 的區(qū)別 92
4.8 小結 93
第5 章 Linux 網絡包處理源碼分析 94
5.1 Linux 網絡收包的總體流程 96
5.2 Linux 啟動的網絡準備 98
5.2.1 網卡e100 驅動初始化 99
5.2.2 啟動網卡e100 105
5.2.3 網卡e100 網絡數據發(fā)送隊列初始化 107
5.2.4 網卡e100 網絡數據接收隊列初始化 109
5.2.5 網卡e100 的中斷處理 112
5.2.6 開啟硬中斷 113
5.2.7 軟中斷ksoftirqd 內核線程 114
5.2.8 網絡子系統(tǒng)初始化 121
5.2.9 協(xié)議棧注冊 123
5.3 Linux 接收網絡數據 129
5.3.1 e100 對網絡數據包的存儲 130
5.3.2 硬中斷處理 131
5.3.3 軟中斷處理 132
5.3.4 網絡層IP 協(xié)議棧處理 143
5.3.5 傳輸層UDP 協(xié)議棧處理 152
5.4 網絡消息最終歸途 159
5.4.1 激活用戶進程 159
5.4.2 recvfrom 系統(tǒng)調用 167
5.4.3 Socket 數據結構 170
5.4.4 socket 創(chuàng)建 171
5.5 小結 179
第6 章 應用層協(xié)議原理 181
6.1 HTTP 協(xié)議 181
6.1.1 DNS 解析 182
6.1.2 發(fā)送HTTP 請求 183
6.1.3 HTTP 請求的響應 184
6.1.4 瀏覽器解析 185
6.1.5 瀏覽器進行頁面渲染 186
6.1.6 一次完整的HTTP 請求小結 187
6.2 掃碼支付背后那些事 188
6.2.1 掃碼支付的工作流程 189
6.2.2 掃碼支付如何保證交易安全 189
6.2.3 HTTPS 協(xié)議 191
6.2.4 Https 協(xié)議建立連接 194
6.3 直播使用的流媒體協(xié)議 197
6.3.1 直播的技術組成部分 197
6.3.2 直播的核心技術 197
6.4 小結 199
第7 章 Java Hello World 底層推理 201
7.1 回顧C 語言的Hello World 201
7.1.1 Hello World 在Linux 平臺編譯執(zhí)行過程 202
7.1.2 hello.c 程序編譯過程 202
7.1.3 hello.out 可執(zhí)行文件格式及內存映像 203
7.1.4 hello.out 程序裝載和執(zhí)行的過程 203
7.1.5 入口函數和程序初始化 205
7.1.6 Windows 操作系統(tǒng)的hello.c 206
7.1.7 C 語言的平臺關聯性 207
7.2 Java 的HelloWorld 208
7.3 Hello World 的運行 211
7.4 HelloWorld 的字節(jié)碼文件結構 213
7.5 執(zhí)行HelloWorld 的main 方法前的過程 217
7.6 HelloWorld 的main 方法的執(zhí)行過程 221
7.6.1 JVM 的執(zhí)行引擎 221
7.6.2 JVM 的GC 222
7.7 《JVM 規(guī)范手冊》 223
7.8 小結 224
第8 章 Hotspot JVM 啟動原理 226
8.1 啟動Hotspot VM 227
8.1.1 main()函數 228
8.1.2 JLI_Launch()函數 229
8.1.3 JVMInit()函數 232
8.1.4 ContinueInNewThread()函數 232
8.1.5 ContinueInNewThread0()函數 233
8.1.6 JavaMain()函數 234
8.2 類加載器 235
8.2.1 Bootstrap ClassLoader 類加載器 236
8.2.2 三層類加載器 239
8.2.3 雙親委派模型 244
8.3 Hotspot CreateVM 245
8.3.1 初始化系統(tǒng)屬性及SystemProperites 247
8.3.2 給JVM 的主干添加枝葉——程序參數解釋 250
8.3.3 線程安全點 255
8.3.4 初始化全局線程隊列及vm_init_globals 257
8.3.5 JavaThread 257
8.4 初始化全局模塊init_globals 258
8.4.1 JVM 解釋器模塊 261
8.4.2 代碼高速緩存模塊 265
8.4.5 universe_init 267
8.4.3 StubRountines 272
8.4.6 marksweep_init 275
8.5 小結 276

本目錄推薦

掃描二維碼
Copyright ? 讀書網 www.stefanvlieger.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號