注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)C/C++及其相關(guān)計(jì)算之道 卷III:C++語言與JVM源碼

計(jì)算之道 卷III:C++語言與JVM源碼

計(jì)算之道 卷III:C++語言與JVM源碼

定 價(jià):¥119.00

作 者: 黃俊 賴志環(huán)
出版社: 清華大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787302683001 出版時(shí)間: 2025-05-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 字?jǐn)?shù):  

內(nèi)容簡介

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

作者簡介

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

圖書目錄

第1 章 C 語言的推理 1
1.1 編程語言演變過程 1
1.2 C 語言出現(xiàn)的原因 3
1.2.1 C 語言圖書管理系統(tǒng) 4
1.2.2 C 語言的出現(xiàn)原因 5
1.2.3 C 語言圖書管理系統(tǒng) 7
1.3 面向過程和面向?qū)ο?8
1.4 C 語言特性來源 11
1.5 其他編程語言原理推導(dǎo) 12
1.6 編程語言的共性 13
1.7 小結(jié) 15
第2 章 C 語言的特性和原理 17
2.1 對(duì)象和類原理 17
2.1.1 C 語言的class 關(guān)鍵字 19
2.1.2 C 語言的new/delete運(yùn)算符 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 語言的數(shù)據(jù)類型 27
2.3.3 C 語言的指針和引用 28
2.3.4 C 語言的類與對(duì)象 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 語言出現(xiàn)的推論 40
2.5.1 內(nèi)存泄漏和野指針規(guī)避 40
2.5.2 新語言的設(shè)計(jì)要求 42
2.5.3 新語言的兩種實(shí)現(xiàn)方法 43
2.6 如何通過底層來學(xué)習(xí)不同的編程語言 45
2.7 小結(jié) 48
第3 章 計(jì)算機(jī)網(wǎng)絡(luò)推理 50
3.1 計(jì)算機(jī)網(wǎng)絡(luò)的研究內(nèi)容 50
3.2 計(jì)算機(jī)網(wǎng)絡(luò)協(xié)議 52
3.2.1 什么是協(xié)議 52
3.2.2 誰來制定協(xié)議 53
3.2.3 協(xié)議分層 54
3.3 計(jì)算機(jī)網(wǎng)絡(luò)地址 56
3.3.1 MAC 地址 56
3.3.2 IP 地址 58
3.3.3 ARP 59
3.4 數(shù)據(jù)傳輸 61
3.5 計(jì)算機(jī)網(wǎng)絡(luò)下三層 61
3.6 小結(jié) 62
第4 章 傳輸協(xié)議原理 64
4.1 UDP 65
4.1.1 四元組 65
4.1.2 UDP 的特點(diǎn) 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)機(jī) 73
4.3 TCP 可靠傳輸重傳機(jī)制 75
4.4 TCP 可靠傳輸—滑動(dòng)窗口 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 小結(jié) 93
第5 章 Linux 網(wǎng)絡(luò)包處理源碼分析 94
5.1 Linux 網(wǎng)絡(luò)收包的總體流程 96
5.2 Linux 啟動(dòng)的網(wǎng)絡(luò)準(zhǔn)備 98
5.2.1 網(wǎng)卡e100 驅(qū)動(dòng)初始化 99
5.2.2 啟動(dòng)網(wǎng)卡e100 105
5.2.3 網(wǎng)卡e100 網(wǎng)絡(luò)數(shù)據(jù)發(fā)送隊(duì)列初始化 107
5.2.4 網(wǎng)卡e100 網(wǎng)絡(luò)數(shù)據(jù)接收隊(duì)列初始化 109
5.2.5 網(wǎng)卡e100 的中斷處理 112
5.2.6 開啟硬中斷 113
5.2.7 軟中斷ksoftirqd 內(nèi)核線程 114
5.2.8 網(wǎng)絡(luò)子系統(tǒng)初始化 121
5.2.9 協(xié)議棧注冊(cè) 123
5.3 Linux 接收網(wǎng)絡(luò)數(shù)據(jù) 129
5.3.1 e100 對(duì)網(wǎng)絡(luò)數(shù)據(jù)包的存儲(chǔ) 130
5.3.2 硬中斷處理 131
5.3.3 軟中斷處理 132
5.3.4 網(wǎng)絡(luò)層IP 協(xié)議棧處理 143
5.3.5 傳輸層UDP 協(xié)議棧處理 152
5.4 網(wǎng)絡(luò)消息最終歸途 159
5.4.1 激活用戶進(jìn)程 159
5.4.2 recvfrom 系統(tǒng)調(diào)用 167
5.4.3 Socket 數(shù)據(jù)結(jié)構(gòu) 170
5.4.4 socket 創(chuàng)建 171
5.5 小結(jié) 179
第6 章 應(yīng)用層協(xié)議原理 181
6.1 HTTP 協(xié)議 181
6.1.1 DNS 解析 182
6.1.2 發(fā)送HTTP 請(qǐng)求 183
6.1.3 HTTP 請(qǐng)求的響應(yīng) 184
6.1.4 瀏覽器解析 185
6.1.5 瀏覽器進(jìn)行頁面渲染 186
6.1.6 一次完整的HTTP 請(qǐng)求小結(jié) 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 直播的技術(shù)組成部分 197
6.3.2 直播的核心技術(shù) 197
6.4 小結(jié) 199
第7 章 Java Hello World 底層推理 201
7.1 回顧C(jī) 語言的Hello World 201
7.1.1 Hello World 在Linux 平臺(tái)編譯執(zhí)行過程 202
7.1.2 hello.c 程序編譯過程 202
7.1.3 hello.out 可執(zhí)行文件格式及內(nèi)存映像 203
7.1.4 hello.out 程序裝載和執(zhí)行的過程 203
7.1.5 入口函數(shù)和程序初始化 205
7.1.6 Windows 操作系統(tǒng)的hello.c 206
7.1.7 C 語言的平臺(tái)關(guān)聯(lián)性 207
7.2 Java 的HelloWorld 208
7.3 Hello World 的運(yùn)行 211
7.4 HelloWorld 的字節(jié)碼文件結(jié)構(gòu) 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ī)范手冊(cè)》 223
7.8 小結(jié) 224
第8 章 Hotspot JVM 啟動(dòng)原理 226
8.1 啟動(dòng)Hotspot VM 227
8.1.1 main()函數(shù) 228
8.1.2 JLI_Launch()函數(shù) 229
8.1.3 JVMInit()函數(shù) 232
8.1.4 ContinueInNewThread()函數(shù) 232
8.1.5 ContinueInNewThread0()函數(shù) 233
8.1.6 JavaMain()函數(shù) 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 的主干添加枝葉——程序參數(shù)解釋 250
8.3.3 線程安全點(diǎn) 255
8.3.4 初始化全局線程隊(duì)列及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 小結(jié) 276

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.afriseller.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)