登入帳戶  | 訂單查詢  | 購物車/收銀台(0) | 在線留言板  | 付款方式  | 運費計算  | 聯絡我們  | 幫助中心 |  加入書簽
會員登入 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類瀏覽雜誌 臺灣用戶
品種:超過100萬種各類書籍/音像和精品,正品正價,放心網購,悭钱省心 服務:香港台灣澳門海外 送貨:速遞郵局服務站

新書上架簡體書 繁體書
暢銷書架簡體書 繁體書
好書推介簡體書 繁體書

十月出版:大陸書 台灣書
九月出版:大陸書 台灣書
八月出版:大陸書 台灣書
七月出版:大陸書 台灣書
六月出版:大陸書 台灣書
五月出版:大陸書 台灣書
四月出版:大陸書 台灣書
三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書
12月出版:大陸書 台灣書
11月出版:大陸書 台灣書
十月出版:大陸書 台灣書
九月出版:大陸書 台灣書
八月出版:大陸書 台灣書

『簡體書』自己动手写Java虚拟机

書城自編碼: 2806816
分類:簡體書→大陸圖書→計算機/網絡程序設計
作者: 张秀宏
國際書號(ISBN): 9787111534136
出版社: 机械工业出版社
出版日期: 2016-05-01
版次: 1 印次: 1
頁數/字數: 267/144000
書度/開本: 16开 釘裝: 平装

售價:HK$ 103.5

我要買

 

** 我創建的書架 **
未登入.


新書推薦:
为你想要的生活
《 为你想要的生活 》

售價:HK$ 66.1
关键改变:如何实现自我蜕变
《 关键改变:如何实现自我蜕变 》

售價:HK$ 77.3
超加工人群:为什么有些食物让人一吃就停不下来
《 超加工人群:为什么有些食物让人一吃就停不下来 》

售價:HK$ 99.7
历史的教训(浓缩《文明的故事》精华,总结历史教训的独特见解)
《 历史的教训(浓缩《文明的故事》精华,总结历史教训的独特见解) 》

售價:HK$ 62.7
不在场证明谜案(超绝CP陷入冤案!日本文坛超新星推理作家——辻堂梦代表作首次引进!)
《 不在场证明谜案(超绝CP陷入冤案!日本文坛超新星推理作家——辻堂梦代表作首次引进!) 》

售價:HK$ 58.2
明式家具三十年经眼录
《 明式家具三十年经眼录 》

售價:HK$ 524.2
敦煌写本文献学(增订本)
《 敦煌写本文献学(增订本) 》

售價:HK$ 221.8
耕读史
《 耕读史 》

售價:HK$ 109.8

 

建議一齊購買:

+

HK$ 178.5
《Scala编程实战》
+

HK$ 133.5
《Spring实战(第4版)》
+

HK$ 127.7
《HTML5与CSS3权威指南(第3版 下册)》
+

HK$ 143.0
《Swift 权威指南》
+

HK$ 182.9
《Spring源码深度解析》
內容簡介:
本书将带领读者使用Go语言,从零开始打找造属于我们自己的Java虚拟机实现。全书共分11章,从代码和实战的角度对class文件格式、运行时数据区域、指令集和解释器、类和对象内部结构、方法调用和返回、异常处理等Java虚拟机核心概念进行了详细讨论。本书循序渐进,每一章都有可以独立编译和运行的代码。通过实践的方式,相信读者可以更深刻地领悟Java虚拟机的工作原理。
關於作者:
张秀宏 
资深Java服务器开发工程师,有多年的Java开发、游戏服务器开发和架构经验,对Java虚拟机有非常深入的研究。曾在EA、华娱无线等游戏公司担任高级服务器工程师职位,现任乐元素Lead软件工程师。
目錄
目录 Contents
前言
第1章 命令行工具 1
1.1 准备工作 1
1.1.1 安装JDK 1
1.1.2 安装Go 2
1.1.3 创建目录结构 3
1.2 java命令 4
1.3 编写命令行工具 5
1.4 测试本章代码 7
1.5 本章小结 8
第2章 搜索class文件 9
2.1 类路径 9
2.2 准备工作 10
2.3 实现类路径 11
2.3.1 Entry接口 12
2.3.2 DirEntry 13
2.3.3 ZipEntry 14
2.3.4 CompositeEntry 15
2.3.5 WildcardEntry 17
2.3.6 Classpath 17
2.4 测试本章代码 20
2.5 本章小结 21
第3章 解析class文件 23
3.1 class文件 24
3.2 解析class文件 25
3.2.1 读取数据 26
3.2.2 整体结构 27
3.2.3 魔数 30
3.2.4 版本号 31
3.2.5 类访问标志 32
3.2.6 类和超类索引 32
3.2.7 接口索引表 33
3.2.8 字段和方法表 33
3.3 解析常量池 35
3.3.1 ConstantPool结构体 35
3.3.2 ConstantInfo接口 37
3.3.3 CONSTANT_Integer_info 39
3.3.4 CONSTANT_Float_info 40
3.3.5 CONSTANT_Long_info 40
3.3.6 CONSTANT_Double_info 41
3.3.7 CONSTANT_Utf8_info 42
3.3.8 CONSTANT_String_info 43
3.3.9 CONSTANT_Class_info 45
3.3.10 CONSTANT_NameAnd-Type_info 46
3.3.11 CONSTANT_Fieldref_info、
 CONSTANT_Methodref_info和CONSTANT_Interface-Methodref_info
47
3.3.12 常量池小结 49
3.4 解析属性表 50
3.4.1 AttributeInfo接口 50
3.4.2 Deprecated和Synthetic属性 53
3.4.3 SourceFile属性 54
3.4.4 ConstantValue属性 55
3.4.5 Code属性 56
3.4.6 Exceptions属性 58
3.4.7 LineNumberTable和
 LocalVariableTable属性 59
3.5 测试本章代码 61
3.6 本章小结 63
第4章 运行时数据区 65
4.1 运行时数据区概述 66
4.2 数据类型 67
4.3 实现运行时数据区 68
4.3.1 线程 68
4.3.2 Java虚拟机栈 69
4.3.3 帧 71
4.3.4 局部变量表 72
4.3.5 操作数栈 74
4.3.6 局部变量表和操作数栈实例分析 76
4.4 测试本章代码 81
4.5 本章小结 83
第5章 指令集和解释器 85
5.1 字节码和指令集 86
5.2 指令和指令解码 88
5.2.1 Instruction接口 89
5.2.2 BytecodeReader 91
5.3 常量指令 92
5.3.1 nop指令 92
5.3.2 const系列指令 93
5.3.3 bipush和sipush指令 94
5.4 加载指令 94
5.5 存储指令 95
5.6 栈指令 96
5.6.1 pop和pop2指令 96
5.6.2 dup指令 97
5.6.3 swap指令 98
5.7 数学指令 98
5.7.1 算术指令 98
5.7.2 位移指令 99
5.7.3 布尔运算指令 101
5.7.4 iinc指令 102
5.8 类型转换指令 102
5.9 比较指令 103
5.9.1 lcmp指令 103
5.9.2 fcmp和dcmp指令 104
5.9.3 if指令 105
5.9.4 if_icmp指令 106
5.9.5 if_acmp指令 107
5.10 控制指令 108
5.10.1 goto指令 108
5.10.2 tableswitch指令 108
5.10.3 lookupswitch指令 110
5.11 扩展指令 111
5.11.1 wide指令 111
5.11.2 ifnull和ifnonnull指令 113
5.11.3 goto_w指令 113
5.12 解释器 114
5.13 测试本章代码 118
5.14 本章小结 120
第6章 类和对象 121
6.1 方法区 122
6.1.1 类信息 122
6.1.2 字段信息 124
6.1.3 方法信息 125
6.1.4 其他信息 127
6.2 运行时常量池 127
6.2.1 类符号引用 129
6.2.2 字段符号引用 130
6.2.3 方法符号引用 132
6.2.4 接口方法符号引用 132
6.3 类加载器 133
6.3.1 readClass 134
6.3.2 defineClass 135
6.3.3 link 136
6.4 对象、实例变量和类变量 136
6.5 类和字段符号引用解析 141
6.5.1 类符号引用解析 141
6.5.2 字段符号引用解析 142
6.6 类和对象相关指令 144
6.6.1 new指令 144
6.6.2 putstatic和getstatic指令 146
6.6.3 putfield和getfield指令 148
6.6.4 instanceof和checkcast指令 150
6.6.5 ldc指令 154
6.7 测试本章代码 156
6.8 本章小结 160
第7章 方法调用和返回 161
7.1 方法调用概述 161
7.2 解析方法符号引用 163
7.2.1 非接口方法符号引用 163
7.2.2 接口方法符号引用 165
7.3 方法调用和参数传递 166
7.4 返回指令 169
7.5 方法调用指令 170
7.5.1 invokestatic指令 170
7.5.2 invokespecial指令 170
7.5.3 invokevirtual指令 172
7.5.4 invokeinterface指令 174
7.6 改进解释器 176
7.7 测试方法调用 178
7.8 类初始化 181
7.9 本章小结 185
第8章 数组和字符串 187
8.1 数组概述 187
8.2 数组实现 188
8.2.1 数组对象 188
8.2.2 数组类 190
8.2.3 加载数组类 191
8.3 数组相关指令 191
8.3.1 newarray指令 192
8.3.2 anewarray指令 194
8.3.3 arraylength指令 195
8.3.4 aload指令 196
8.3.5 astore指令 197
8.3.6 multianewarray指令 198
8.3.7 完善instanceof和checkcast指令 201
8.4 测试数组 203
8.5 字符串 204
8.5.1 字符串池 205
8.5.2 完善ldc指令 206
8.5.3 完善类加载器 207
8.6 测试字符串 207
8.7 本章小结 210
第9章 本地方法调用 211
9.1 注册和查找本地方法 212
9.2 调用本地方法 213
9.3 反射 215
9.3.1 类和对象之间的关系 215
9.3.2 修改类加载器 217
9.3.3 基本类型的类 219
9.3.4 修改ldc指令 220
9.3.5 通过反射获取类名 221
9.3.6 测试本节代码 224
9.4 字符串拼接和String.intern方法 225
9.4.1 Java类库 225
9.4.2 System.arraycopy方法 227
9.4.3 Float. floatToRawIntBits和Double.doubleToRawLongBits方法 229
9.4.4 String.intern方法 229
9.4.5 测试本节代码 230
9.5 Object.hashCode、equals和toString 231
9.6 Object.clone 233
9.7 自动装箱和拆箱 235
9.8 本章小结 238
第10章 异常处理 239
10.1 异常处理概述 239
10.2 异常抛出 240
10.3 异常处理表 241
10.4 实现athrow指令 245
10.5 Java虚拟机栈信息 248
10.6 测试本章代码 251
10.7 本章小结 252
第11章 结束 253
11.1 System类是如何被初始化的 253
11.2 初始化System类 255
11.3 System.out.println是如何工作的 258
11.4 测试本章代码 260
11.5 总结 260
附录 指令表 263

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 大陸用户 | 海外用户
megBook.com.hk
Copyright © 2013 - 2024 (香港)大書城有限公司  All Rights Reserved.