幫助中心 | 我的帳號 | 關於我們

計算之道(卷Ⅲ C++語言與JVM源碼)/架構師前沿實踐叢書

  • 作者:編者:賴志環|責編:賈旭龍|總主編:黃俊
  • 出版社:清華大學
  • ISBN:9787302683001
  • 出版日期:2025/05/01
  • 裝幀:平裝
  • 頁數:277
人民幣:RMB 119 元      售價:
放入購物車
加入收藏夾

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

作者介紹
編者:賴志環|責編:賈旭龍|總主編:黃俊
    賴志環,十年遊戲及互聯網應用的技術研發經歷。負責過5000以上註冊用戶,日活躍用戶達800萬,10萬多用戶同時在線,年流水達1億的遊戲產品研發。熟悉技術研發的多重領域。自2016年至今創辦深圳帝國互娛網路在線有限公司,聯合創始人負責技術部。

目錄
第1章  C++語言的推理
  1.1  編程語言演變過程
  1.2  C++語言出現的原因
    1.2.1  C語言圖書管理系統
    1.2.2  C++語言的出現原因
    1.2.3  C++語言圖書管理系統
  1.3  面向過程和面向對象
  1.4  C++語言特性來源
  1.5  其他編程語言原理推導
  1.6  編程語言的共性
  1.7  小結
第2章  C++語言的特性和原理
  2.1  對象和類原理
    2.1.1  C++語言的class關鍵字
    2.1.2  C++語言的new/delete運算符
    2.1.3  C++語言的this指針
  2.2  異常處理
    2.2.1  C++語言異常處理
    2.2.2  Java異常處理
  2.3  C++語言的特性
    2.3.1  C++語言的hello world
    2.3.2  C++語言的數據類型
    2.3.3  C++語言的指針和引用
    2.3.4  C++語言的類與對象
    2.3.5  C++語言的多態
    2.3.6  C++語言的泛型編程
  2.4  彙編、C和C++語言存在的問題
    2.4.1  彙編語言
    2.4.2  C語言
    2.4.3  C++語言
    2.4.4  最常見的問題
  2.5  Java語言出現的推論
    2.5.1  內存泄漏和野指針規避
    2.5.2  新語言的設計要求
    2.5.3  新語言的兩種實現方法
  2.6  如何通過底層來學習不同的編程語言
  2.7  小結
第3章  電腦網路推理
  3.1  電腦網路的研究內容
  3.2  電腦網路協議
    3.2.1  什麼是協議
    3.2.2  誰來制定協議
    3.2.3  協議分層
  3.3  電腦網路地址
    3.3.1  MAC地址
    3.3.2  IP地址
    3.3.3  ARP
  3.4  數據傳輸
  3.5  電腦網路下三層
  3.6  小結

第4章  傳輸協議原理
  4.1  UDP
    4.1.1  四元組
    4.1.2  UDP的特點
    4.1.3  UDP的使用場景
  4.2  TCP
    4.2.1  TCP包頭部分
    4.2.2  建立TCP鏈接
    4.2.3  釋放TCP連接
    4.2.4  TCP狀態機
  4.3  TCP可靠傳輸重傳機制
  4.4  TCP可靠傳輸—滑動窗口
  4.5  TCP可靠傳輸—流量控制
  4.6  TCP可靠傳輸—擁塞控制
    4.6.1  TCP的擁塞控制原理
    4.6.2  擁塞控制的演算法
  4.7  TCP和UDP的區別
  4.8  小結
第5章  Linux網路包處理源碼分析
  5.1  Linux網路收包的總體流程
  5.2  Linux啟動的網路準備
    5.2.1  網卡e100驅動初始化
    5.2.2  啟動網卡e100
    5.2.3  網卡e100網路數據發送隊列初始化
    5.2.4  網卡e100網路數據接收隊列初始化
    5.2.5  網卡e100的中斷處理
    5.2.6  開啟硬中斷
    5.2.7  軟中斷ksoftirqd內核線程
    5.2.8  網路子系統初始化
    5.2.9  協議棧註冊
  5.3  Linux接收網路數據
    5.3.1  e100對網路數據包的存儲
    5.3.2  硬中斷處理
    5.3.3  軟中斷處理
    5.3.4  網路層IP協議棧處理
    5.3.5  傳輸層UDP協議棧處理
  5.4  網路消息最終歸途
    5.4.1  激活用戶進程
    5.4.2  recvfrom系統調用
    5.4.3  Socket數據結構
    5.4.4  socket創建
  5.5  小結
第6章  應用層協議原理
  6.1  HTTP協議
    6.1.1  DNS解析
    6.1.2  發送HTTP請求
    6.1.3  HTTP請求的響應
    6.1.4  瀏覽器解析
    6.1.5  瀏覽器進行頁面渲染
    6.1.6  一次完整的HTTP請求小結

  6.2  掃碼支付背後那些事
    6.2.1  掃碼支付的工作流程
    6.2.2  掃碼支付如何保證交易安全
    6.2.3  HTTPS協議
    6.2.4  Https協議建立連接
  6.3  直播使用的流媒體協議
    6.3.1  直播的技術組成部分
    6.3.2  直播的核心技術
  6.4  小結
第7章  Java Hello World底層推理
  7.1  回顧C語言的Hello World
    7.1.1  Hello World在Linux平台編譯執行過程
    7.1.2  hello.c程序編譯過程
    7.1.3  hello.out可執行文件格式及內存映像
    7.1.4  hello.out程序裝載和執行的過程
    7.1.5  入口函數和程序初始化
    7.1.6  Windows操作系統的hello.c
    7.1.7  C語言的平台關聯性
  7.2  Java的HelloWorld
  7.3  Hello World的運行
  7.4  HelloWorld的位元組碼文件結構
  7.5  執行HelloWorld的main方法前的過程
  7.6  HelloWorld的main方法的執行過程
    7.6.1  JVM的執行引擎
    7.6.2  JVM的GC
  7.7  《JVM規範手冊》
  7.8  小結
第8章  Hotspot JVM啟動原理
  8.1  啟動Hotspot VM
    8.1.1  main()函數
    8.1.2  JLI_Launch()函數
    8.1.3  JVMInit()函數
    8.1.4  ContinueInNewThread()函數
    8.1.5  ContinueInNewThread0()函數
    8.1.6  JavaMain()函數
  8.2  類載入器
    8.2.1  Bootstrap ClassLoader類載入器
    8.2.2  三層類載入器
    8.2.3  雙親委派模型
  8.3  Hotspot CreateVM
    8.3.1  初始化系統屬性及SystemProperites
    8.3.2  給JVM的主幹添加枝葉——程序參數解釋
    8.3.3  線程安全點
    8.3.4  初始化全局線程隊列及vm_init_globals
    8.3.5  JavaThread
  8.4  初始化全局模塊init_globals
    8.4.1  JVM解釋器模塊
    8.4.2  代碼高速緩存模塊
    8.4.5  universe_init
    8.4.3  StubRountines

    8