Java虛擬機規範(2015年機械工業出版社出版的圖書)

Java虛擬機規範(2015年機械工業出版社出版的圖書)

本詞條是多義詞,共3個義項
更多義項 ▼ 收起列表 ▲

《Java虛擬機規範》是2015年機械工業出版社出版的圖書。

基本介紹

  • 中文名:Java虛擬機規範
  • 出版時間:2015年
  • 出版社:機械工業出版社
  • ISBN:9787111501596
內容簡介,圖書目錄,作者簡介,

內容簡介

  《Java核心技術系列:Java虛擬機規範(Java SE 8版)》由Oracle官方發布,Java虛擬機技術創建人撰寫,國內資深Java技術專家翻譯。書中基於全新Java SE 8,完整且準確地闡述Java虛擬機規範,是深度了解Java虛擬機和Java語言實現細節的必讀之作。
  《Java核心技術系列:Java虛擬機規範(Java SE 8版)》共分7章。第1章從巨觀的角度介紹了Java虛擬機與Java的關係及發展歷程;第2章概述Java虛擬機的整體架構,包括class檔案格式、數據類型、原始類型、引用類型、運行時數據區、棧幀、浮點算法、異常等,這對理解本書後面的內容有重要幫助;第3章詳述如何將Java語言編寫的程式轉換為Java虛擬機指令集,涉及常量、局部變數、控制結構、算術運算、參數接收、方法調用、數組、運算元棧、異常處理、同步與註解等;第4章深入分析用來表示編譯後的類和接口的class檔案格式;第5章定義Java虛擬機啟動以及類與接口的載入、連結和初始化過程;第6章闡釋並列舉Java虛擬機指令集;第7章提供一張以操作碼值為索引的Java虛擬機操作碼助記符表。
  《Java核心技術系列:Java虛擬機規範(Java SE 8版)》完整而準確地闡釋了Java虛擬機各方面的細節,圍繞Java虛擬機整體架構、編譯器、class檔案格式、載入、連結與初始化、指令集等核心主題對Java虛擬機進行全面而深入的分析,深刻揭示Java虛擬機的工作原理。同時,書中不僅完整地講述了由Java SE 8所引入的新特性,例如對包含默認實現代碼的接口方法所做的調用,還講述了為支持類型註解及方法參數註解而對class檔案格式所做的擴展,並闡明了class檔案中各屬性的含義,以及位元組碼驗證的規則。
  《Java核心技術系列:Java虛擬機規範(Java SE 8版)》主要內容:
  闡釋Java虛擬機與Java的關係和發展歷程。
  概覽Java虛擬機整體架構,包括class檔案格式、數據類型、原始類型、引用類型、運行時數據區、棧幀、浮點算法、異常等。
  詳述如何將以Java語言編寫的程式轉換為Java虛擬機指令集,涉及常量、局部變數、控制結構、算術運算、參數接收、方法調用、數組、運算元棧、異常處理、同步與註解等。
  深入分析用來表示編譯後的類和接口的class檔案格式,主要包括ClassFile檔案結構、描述符、常量池、欄位、方法、屬性、格式檢查、代碼約束與class檔案校驗等。
  定義Java虛擬機啟動以及類和接口的載入、連結和初始化過程。
  闡釋並列舉Java虛擬機指令集。

圖書目錄

譯者序
前言
第1章 引言
1.1 簡史
1.2 Java虛擬機
1.3 各章節摘要
1.4 說明
1.5 反饋
第2章 Java虛擬機結構
2.1 class檔案格式
2.2 數據類型
2.3 原始類型與值
2.3.1 整數類型與整型值
2.3.2 浮點類型、取值集合及浮點值
2.3.3 returnAddress類型和值
2.3.4 boolean類型
2.4 引用類型與值
2.5 運行時數據區
2.5.1 pc暫存器
2.5.2 Java虛擬機棧
2.5.3 Java堆
2.5.4 方法區
2.5.5 運行時常量池
2.5.6 本地方法棧
2.6 棧幀
2.6.1 局部變數表
2.6.2 運算元棧
2.6.3 動態連結
2.6.4 方法調用正常完成
2.6.5 方法調用異常完成
2.7 對象的表示
2.8 浮點算法
2.8.1 Java虛擬機和IEEE,754中的浮點算法
2.8.2 浮點模式
2.8.3 數值集合轉換
2.9 特殊方法
2.10 異常
2.11 位元組碼指令集簡介
2.11.1 數據類型與Java虛擬機
2.11.2 載入和存儲指令
2.11.3 算術指令
2.11.4 類型轉換指令
2.11.5 對象的創建與操作
2.11.6 運算元棧管理指令
2.11.7 控制轉移指令
2.11.8 方法調用和返回指令
2.11.9 拋出異常
2.11.10 同步
2.12 類庫
2.13 公有設計、私有實現
第3章 Java虛擬機編譯器
3.1 示例的格式說明
3.2 常量、局部變數和控制結構的使用
3.3 算術運算
3.4 訪問運行時常量池
3.5 與控制結構有關的更多示例
3.6 接收參數
3.7 方法調用
3.8 使用類實例
3.9 數組
3.10 編譯switch語句
3.11 使用運算元棧
3.12 拋出異常和處理異常
3.13 編譯finally語句塊
3.14 同步
3.15 註解
第4章 class檔案格式
4.1 ClassFile結構
4.2 各種名稱的內部表示形式
4.2.1 類和接口的二進制名稱
4.2.2 非限定名
4.3 描述符
4.3.1 語法符號
4.3.2 欄位描述符
4.3.3 方法描述符
4.4 常量池
4.4.1 CONSTANT_Class_info結構
4.4.2 CONSTANT_Fieldref_info、CONSTANT_Methodref_info和CONSTANT_InterfaceMethodref_info結構
4.4.3 CONSTANT_String_info結構
4.4.4 CONSTANT_Integer_info和CONSTANT_Float_info結構
4.4.5 CONSTANT_Long_info和CONSTANT_Double_info結構
4.4.6 CONSTANT_NameAnd-Type_info結構
4.4.7 CONSTANT_Utf8_info結構
4.4.8 CONSTANT_MethodHandle_info結構
4.4.9 CONSTANT_MethodType_info結構
4.4.10 CONSTANT_Invoke-Dynamic_info結構
4.5 欄位
4.6 方法
4.7 屬性
4.7.1 自定義和命名新的屬性
4.7.2 ConstantValue屬性
4.7.3 Code屬性
4.7.4 StackMapTable屬性
4.7.5 Exceptions屬性
4.7.6 InnerClasses屬性
4.7.7 EnclosingMethod屬性
4.7.8 Synthetic屬性
4.7.9 Signature屬性
4.7.10 SourceFile屬性
4.7.11 SourceDebugExtension屬性
4.7.12 LineNumberTable屬性
4.7.13 LocalVariableTable屬性
4.7.14 LocalVariableTypeTable屬性
4.7.15 Deprecated屬性
4.7.16 RuntimeVisibleAnnota-tions屬性
4.7.17 RuntimeInvisible-Annotations屬性
4.7.18 RuntimeVisibleParameterAnnotations屬性
4.7.19 RuntimeInvisiblePara-meterAnnotations屬性
4.7.20 RuntimeVisibleTypeAnnotations屬性
4.7.21 RuntimeInvisibleType-Annotations屬性
4.7.22 AnnotationDefault屬性
4.7.23 BootstrapMethods屬性
4.7.24 MethodParameters屬性
4.8 格式檢查
4.9 Java虛擬機代碼約束
4.9.1 靜態約束
4.9.2 結構化約束
4.10 class檔案校驗
4.10.1 類型檢查驗證
4.10.2 類型推導驗證
4.11 Java虛擬機限制
第5章 載入、連結與初始化
5.1 運行時常量池
5.2 虛擬機啟動
5.3 創建和載入
5.3.1 使用引導類載入器來載入類型
5.3.2 使用用戶自定義類載入器來載入類型
5.3.3 創建數組類
5.3.4 載入限制
5.3.5 從class檔案表示得到類
5.4 連結
5.4.1 驗證
5.4.2 準備
5.4.3 解析
5.4.4 訪問控制
5.4.5 方法覆蓋
5.5 初始化
5.6 綁定本地方法實現
5.7 Java虛擬機退出
第6章 Java虛擬機指令集
6.1 設定:“必須”的含義
6.2 保留操作碼
6.3 虛擬機錯誤
6.4 指令描述格式
6.5 指令集描述
第7章 操作碼助記符
附錄A Limited License Grant

作者簡介

  蒂姆·林霍爾姆(Tim Lindholm),資深Java虛擬機高級架構師,Java程式語言的主要貢獻者之一,曾是Sun公司傑出工程師,目前主要負責移動設備上的Java套用。在到Sun公司工作之前,他曾經在美國阿貢國家實驗室和Quintus公司從事與虛擬機和運行時系統相關的工作。
  弗蘭克·耶林(Frank Yellin),曾是Sun公司高級工程師,Java項目元老級成員。最近十餘年中,他都從事著解釋型及編譯型語言的運行時系統方面的工作。在到Sun公司工作之前,他在Lucid公司從事Common Lisp編譯器相關的工作。
  吉拉德·布拉查(Gilad Bracha),Newspeak程式語言的創建者,曾是Sun公司傑出工程師。在到Sun公司工作之前,他在Animorphic Smalltalk System公司從事Strongtalk語言相關的工作。
  亞歷克斯·巴克利(Alex Buckley),Oracle公司Java程式語言和Java虛擬機規範負責人。

相關詞條

熱門詞條

聯絡我們