Java虛擬機規範(1966年清華大學出版社出版的圖書)

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

《Java虛擬機規範》是清華大學出版社出版圖書。

基本介紹

  • 書名:Java虛擬機規範 
  • 作者:王克宏
  • 出版社:清華大學出版社
  • 出版時間:1996年12月1日
  • 定價:10.5 元
  • ISBN:9787302023654
內容簡介,目錄,

內容簡介

本書介紹了Java體系結構中的一個重要組成部分——Java虛擬機。Java虛擬機是Java的平台獨立性和安全性的基礎。本書先介紹了Java虛擬機的概貌,然後描述了Java虛擬機規範中的虛擬機體系結構,.class檔案(類檔案)的格式,指令集。附錄中還包括了Sun公司的Java虛擬機實現中使用的內部指令等內容。本書不但為以Java虛擬機為目標機器的編譯器的開發者和兼容的Java虛擬機的開發者提供了規範,而且為Java應用程式開發人員解決編程中的問題提供了新的途徑。

目錄

第1章 引言1
1.1 簡史1
1.2 Java虛擬機2
1.3 各章節摘要2
1.4 說明3
第2章 Java虛擬機結構4
2.1 class檔案格式4
2.2 數據類型5
2.3 原始類型與值5
2.3.1 整數類型與整型值6
2.3.2 浮點類型、取值集合及浮點值6
2.3.3 returnAddress類型和值8
2.3.4 boolean類型8
2.4 引用類型與值9
2.5 運行時數據區9
2.5.1 pc暫存器9
2.5.2 Java虛擬機棧9
2.5.3 Java堆10
2.5.4 方法區11
2.5.5 運行時常量池11
2.5.6 本地方法棧11
2.6 棧幀12
2.6.1 局部變數表13
2.6.2 運算元棧13
2.6.3 動態連結14
2.6.4 方法正常調用完成14
2.6.5 方法異常調用完成15
2.7 對象的表示15
2.8 浮點算法15
2.8.1 Java虛擬機和IEEE 754中的浮點算法15
2.8.2 浮點模式16
2.8.3 數值集合轉換16
2.9 特殊方法17
2.10 異常18
2.11 位元組碼指令集簡介20
2.11.1 數據類型與Java虛擬機21
2.11.2 載入和存儲指令23
2.11.3 算術指令23
2.11.4 類型轉換指令24
2.11.5 對象創建與操作26
2.11.6 運算元棧管理指令26
2.11.7 控制轉移指令27
2.11.8 方法調用和返回指令27
2.11.9 拋出異常28
2.11.10 同步28
2.12 類庫28
2.13 公有設計,私有實現29
第3章 Java虛擬機編譯器30
3.1 示例的格式說明30
3.2 常量、局部變數和控制結構的使用31
3.3 算術運算35
3.4 訪問運行時常量池35
3.5 更多控制結構示例36
3.6 接收參數39
3.7 方法調用39
3.8 使用類實例42
3.9 數組43
3.10 編譯switch語句45
3.11 使用運算元棧46
3.12 拋出異常和處理異常47
3.13 編譯finally語句塊50
3.14 同步53
3.15 註解54
第4章 class檔案格式55
4.1 ClassFile結構56
4.2 各種內部表示名稱60
4.2.1 類和接口的二進制名稱60
4.2.2 非全限定名60
4.3 描述符和簽名61
4.3.1 語法符號61
4.3.2 欄位描述符61
4.3.3 方法描述符63
4.3.4 簽名63
4.4 常量池66
4.4.1 CONSTANT_Class_info結構67
4.4.2 CONSTANT_Fieldref_info、CONSTANT_Methodref_info和CONSTANT_Interface Methodref_info結構67
4.4.3 CONSTANT_String_info結構69
4.4.4 CONSTANT_Integer_info和CONSTANT_Float_info結構69
4.4.5 CONSTANT_Long_info和CONSTANT_Double_info結構70
4.4.6 CONSTANT_NameAndType_info結構71
4.4.7 CONSTANT_Utf8_info結構72
4.4.8 CONSTANT_MethodHandle_info結構74
4.4.9 CONSTANT_MethodType_info結構74
4.4.10 CONSTANT_InvokeDynamic_info結構75
4.5 欄位75
4.6 方法77
4.7 屬性80
4.7.1 自定義和命名新的屬性81
4.7.2 ConstantValue屬性81
4.7.3 Code屬性82
4.7.4 StackMapTable屬性85
4.7.5 Exceptions屬性91
4.7.6 InnerClasses屬性92
4.7.7 EnclosingMethod屬性94
4.7.8 Synthetic屬性94
4.7.9 Signature屬性95
4.7.10 SourceFile屬性96
4.7.11 SourceDebugExtension屬性96
4.7.12 LineNumberTable屬性97
4.7.13 LocalVariableTable屬性98
4.7.14 LocalVariableTypeTable屬性99
4.7.15 Deprecated屬性101
4.7.16 RuntimeVisibleAnnotations屬性101
4.7.17 RuntimeInvisible Annotations屬性105
4.7.18 RuntimeVisibleParameter Annotations屬性106
4.7.19 RuntimeInvisibleParameter Annotations屬性107
4.7.20 AnnotationDefault屬性108
4.7.21 BootstrapMethods屬性108
4.8 格式檢查110
4.9 Java虛擬機代碼約束110
4.9.1 靜態約束110
4.9.2 結構化約束113
4.10 class檔案校驗115
4.10.1 類型檢查驗證116
4.10.2 類型推導驗證178
4.11 Java虛擬機限制184
第5章 載入、連結與初始化186
5.1 運行時常量池186
5.2 虛擬機啟動188
5.3 創建和載入188
5.3.1 使用引導類載入器來載入類型190
5.3.2 使用用戶自定義類載入器來載入類型190
5.3.3 創建數組類191
5.3.4 載入限制191
5.3.5 從class檔案表示得到類192
5.4 連結193
5.4.1 驗證194
5.4.2 準備194
5.4.3 解析195
5.4.4 訪問控制201
5.4.5 方法覆蓋201
5.5 初始化202
5.6 綁定本地方法實現203
5.7 Java虛擬機退出203
第6章 Java虛擬機指令集204
6.1 設定:“必須”的含義204
6.2 保留操作碼204
6.3 虛擬機錯誤205
6.4 指令描述格式205
6.5 指令集描述207
第7章 操作碼助記符293
附錄A Limited License Grant300

相關詞條

熱門詞條

聯絡我們