《揭秘Java虚拟机:JVM设计原理与实现》内容简介与阅读建议

获取这本书 暂无已核验电子书资源
下载
作者
封亚飞
分类
科技技术
出版年份
2017
出版社
电子工业出版社
页数
700 页
语言
中文
豆瓣评分
★ 7.0

《揭秘Java虚拟机:JVM设计原理与实现》内容简介

《揭秘Java虚拟机:JVM设计原理与实现》从源码角度解读HotSpot的内部实现机制,本书主要包含三大部分——JVM数据结构设计与实现、执行引擎机制及内存分配模型。

《揭秘Java虚拟机:JVM设计原理与实现》书籍信息摘要

《揭秘Java虚拟机:JVM设计原理与实现》内容简介与阅读建议,作者 封亚飞,科技技术,2017年。获取前建议核对作者、出版社、年份、ISBN、版本和正版渠道。相关主题:Java虚拟机、HotSpot、源码分析、计算机类。

《揭秘Java虚拟机:JVM设计原理与实现》适合哪些读者?

适合希望系统学习技术概念、实践方法、工具使用和行业知识的读者。 评分 7.0 可作为选书参考。

获取建议

《揭秘Java虚拟机:JVM设计原理与实现》怎么获取更合适?

优先确认版本和阅读目的;下载区只展示已核验的公版、授权、开放许可或官方试读资源。

下载

暂无已核验电子书资源;本站不展示未授权完整文件。

下载

版本

优先选择作者、译者、出版社、出版年份和 ISBN 信息明确的版本;经典作品可优先选择校注、导读或权威出版社版本。

目录

  1. 第1章 Java虚拟机概述 11.1 从机器语言到Java——詹爷,你好 11.2 兼容的选择:一场生产力的革命 61.3 中间语言翻译 101.3.1 从中间语言翻译到机器码 111.3.2 通过C程序翻译 111.3.3 直接翻译为机器码 131.3.4 本地编译 161.4 神奇的指令 181.4.1 常见汇编指令 201.4.2 JVM指令 211.5 本章总结 24第2章 Java执行引擎工作原理:方法调用 252.1 方法调用 262.1.1 真实的机器调用 262.1.2 C语言函数调用 412.2 JVM的函数调用机制 472.3 函数指针 532.4 CallStub函数指针定义 602.5 _call_stub_entry例程 722.6 本章总结 115第3章 Java数据结构与面向对象 1173.1 从Java算法到数据结构 1183.2 数据类型简史 1223.3 Java数据结构之偶然性 1293.4 Java类型识别 1323.4.1 class字节码概述 1333.4.2 魔数与JVM内部的int类型 1363.4.3 常量池与JVM内部对象模型 1373.5 大端与小端 1433.5.1 大端和小端的概念 1463.5.2 大小端产生的本质原因 1483.5.3 大小端验证 1493.5.4 大端和小端产生的场景 1513.5.5 如何解决字节序反转 1543.5.6 大小端问题的避免 1563.5.7 JVM对字节码文件的大小端处理 1563.6 本章总结 159第4章 Java字节码实战 1614.1 字节码格式初探 1614.1.1 准备测试用例 1624.1.2 使用javap命令分析字节码文件 1624.1.3 查看字节码二进制 1654.2 魔数与版本 1664.2.1 魔数 1684.2.2 版本号 1684.3 常量池 1694.3.1 常量池的基本结构 1694.3.2 JVM所定义的11种常量 1704.3.3 常量池元素的复合结构 1704.3.4 常量池的结束位置 1724.3.5 常量池元素总数量 1724.3.6 第一个常量池元素 1734.3.7 第二个常量池元素 1744.3.8 父类常量 1744.3.9 变量型常量池元素 1754.4 访问标识与继承信息 1774.4.1 access_flags 1774.4.2 this_class 1784.4.3 super_class 1794.4.4 interface 1794.5 字段信息 1804.5.1 fields_count 1804.5.2 field_info fields[fields_count] 1814.6 方法信息 1854.6.1 methods_count 1854.6.2 method_info methods[methods_count] 1854.7 本章回顾 205第5章 常量池解析 2065.1 常量池内存分配 2085.1.1 常量池内存分配总体链路 2095.1.2 内存分配 2155.1.3 初始化内存 2235.2 oop-klass模型 2245.2.1 两模型三维度 2255.2.2 体系总览 2275.2.3 oop体系 2295.2.4 klass体系 2315.2.5 handle体系 2345.2.6 oop、klass、handle的相互转换 2395.3 常量池klass模型(1) 2445.3.1 klassKlass实例构建总链路 2465.3.2 为klassOop申请内存 2495.3.3 klassOop内存清零 2535.3.4 初始化mark 2535.3.5 初始化klassOop._metadata 2585.3.6 初始化klass 2595.3.7 自指 2605.4 常量池klass模型(2) 2615.4.1 constantPoolKlass模型构建 2615.4.2 constantPoolOop与klass 2645.4.3 klassKlass终结符 2675.5 常量池解析 2675.5.1 constantPoolOop域初始化 2685.5.2 初始化tag 2695.5.3 解析常量池元素 2715.6 本章总结 279第6章 类变量解析 2806.1 类变量解析 2816.2 偏移量 2856.2.1 静态变量偏移量 2856.2.2 非静态变量偏移量 2876.2.3 Java字段内存分配总结 3126.3 从源码看字段继承 3196.3.1 字段重排与补白 3196.3.2 private字段可被继承吗 3256.3.3 使用HSDB验证字段分配与继承 3296.3.4 引用类型变量内存分配 3386.4 本章总结 342第7章 Java栈帧 3447.1 entry_point例程生成 3457.2 局部变量表创建 3527.2.1 constMethod的内存布局 3527.2.2 局部变量表空间计算 3567.2.3 初始化局部变量区 3597.3 堆栈与栈帧 3687.3.1 栈帧是什么 3687.3.2 硬件对堆栈的支持 3877.3.3 栈帧开辟与回收 3907.3.4 堆栈大小与多线程 3917.4 JVM的栈帧 3967.4.1 JVM栈帧与大小确定 3967.4.2 栈帧创建 3997.4.3 局部变量表 4217.5 栈帧深度与slot复用 4337.6 最大操作数栈与操作数栈复用 4367.7 本章总结 439第8章 类方法解析 4408.1 方法签名解析与校验 4458.2 方法属性解析 4478.2.1 code属性解析 4478.2.2 LVT&LVTT 4498.3 创建methodOop 4558.4 Java方法属性复制 4598.5 与 4618.6 查看运行时字节码指令 4828.7 vtable 4898.7.1 多态 4898.7.2 C++中的多态与vtable 4918.7.3 Java中的多态实现机制 4938.7.4 vtable与invokevirtual指令 5008.7.5 HSDB查看运行时vtable 5028.7.6 miranda方法 5058.7.7 vtable特点总结 5088.7.8 vtable机制逻辑验证 5098.8 本章总结 511第9章 执行引擎 5139.1 执行引擎概述 5149.2 取指 5169.2.1 指令长度 5199.2.2 JVM的两级取指机制 5279.2.3 取指指令放在哪 5329.2.4 程序计数器在哪里 5349.3 译码 5359.3.1 模板表 5359.3.2 汇编器 5409.3.3 汇编 5499.4 栈顶缓存 5589.5 栈式指令集 5659.6 操作数栈在哪里 5769.7 栈帧重叠 5819.8 entry_point例程机器指令 5869.9 执行引擎实战 5889.9.1 一个简单的例子 5889.9.2 字节码运行过程分析 5909.10 字节码指令实现 5979.10.1 iconst_3 5989.10.2 istore_0 5999.10.3 iadd 6009.11 本章总结 601第10章 类的生命周期 60210.1 类的生命周期概述 60210.2 类加载 60510.2.1 类加载——镜像类与静态字段 61110.2.2 Java主类加载机制 61710.2.3 类加载器的加载机制 62210.2.4 反射加载机制 62310.2.5 import与new指令 62410.3 类的初始化 62510.4 类加载器 62810.4.1 类加载器的定义 62810.4.2 系统类加载器与扩展类加载器创建 63410.4.3 双亲委派机制与破坏 63610.4.4 预加载 63810.4.5 引导类加载 64010.4.6 加载、链接与延迟加载 64110.4.7 父加载器 64510.4.8 加载器与类型转换 64810.5 类实例分配 64910.5.1 栈上分配与逃逸分析 65210.5.2 TLAB 65510.5.3 指针碰撞与eden区分配 65710.5.4 清零 65810.5.5 偏向锁 65810.5.6 压栈与取指 65910.6 本章总结 661

常见问题

《揭秘Java虚拟机:JVM设计原理与实现》适合谁读?

适合希望系统学习技术概念、实践方法、工具使用和行业知识的读者。 评分 7.0 可作为选书参考。

《揭秘Java虚拟机:JVM设计原理与实现》阅读难度高吗?

建议先看简介、目录、作者和相关书籍,再判断是否适合当前阶段阅读。

《揭秘Java虚拟机:JVM设计原理与实现》纸质书值得买吗?

当前暂未接入已核验的纸质书购买链接,建议通过出版社、京东、当当等正版渠道核对版本后购买。

《揭秘Java虚拟机:JVM设计原理与实现》哪个版本更适合?

优先选择作者、译者、出版社、出版年份和 ISBN 信息清楚的版本;经典作品可优先选择校注、导读或权威出版社版本。

在哪里可以合法获取《揭秘Java虚拟机:JVM设计原理与实现》?

当前没有确认授权的电子书下载资源,也暂未接入已核验购买链接;商业出版物不提供未授权下载,建议通过出版社、京东、当当或官方电子书平台核对获取。

如何继续查找《揭秘Java虚拟机:JVM设计原理与实现》相关书籍?

可以进入 封亚飞 作者页查看其他作品,也可以通过分类、标签、排行榜、人工推荐和“读完这本还可以读”继续发现相近主题。

手机扫码下载

使用手机扫描二维码

扫码后会直接打开下载链接。

电子书下载二维码

手机端点击下载会直接跳转,无需扫码。