万本电子书0元读

万本电子书0元读

顶部广告

深入理解Android:Java虚拟机ART电子书 租阅

售       价:¥

纸质售价:¥133.50购买纸书

477人正在读 | 0人评论 6.2

作       者:邓凡平

出  版  社:机械工业出版社

出版时间:2019-03-15

字       数:124.9万

所属分类:

温馨提示:此类商品不支持退换货,不支持下载打印

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
本书是笔者“深入理解Android”系列的第四本。本书将关注Android系统中至关重要的部分——Java虚拟机ART。随着Android设备的大规模普及,ART虚拟机已经成为当今使用最为广泛的JVM之一。所以,对ART虚拟机进行研究有着非同寻常的意义。本书的出现在一定程度上填补了这方面的空白。 这是一部从源代码角度分析和讲解Android虚拟机ART的鸿篇巨著,核心内容和价值体现在3个方面: *,细致、深地分析了ART虚拟机的架构、设计与实现原理,能让读者对ART虚拟机有透彻了解; 第二,能让Andriod系统工程师和应用工程师从底层了解整个Android系统的运行机理,从而写出更高质量的应用; 第三,Java虚拟机是一个“庞然大物”,学习和理解的门槛较高,ART是迄今应用*为广泛的JVM实现,本书为读者学习JVM提供了独特的视角和更为容易的路径。 全书共14章: 第1章介绍了在学习ART虚拟机前需要准备的工具和环境,以及本书的内容结构和阅读注意事项,建议仔细读和反复读; 第2~4章详细讲解了Class文件、dex文件和ELF文件的格式和内容,理解Class文件是学习JVM的*步,dex和ELF者是学习Dalvik虚拟机和ART虚拟机的的前提和基础; 第5章详细讲解了ART虚拟机的实现语言C 11,是阅读ART源代码必备的知识; 第6~8章详细讲解了ART虚拟机中与编译和Runtime相关的大量知识,这是虚拟机的核心和难; 第9章详细讲解了dex字节码转机器码的核心程dex2oat以及.oat和.art的文件格式; 第10~11章详细讲解了虚拟机的解释执行、JIT部分以及异常的投递和处理的过程,以及JNI在ART虚拟机中的实现。 第12~14章详细讲解了虚拟机中Java线程的执行、内存分配和释放、垃圾回收的原理与实现。 本书是经典丛书“深理解Android”系列的第8本,继承了该系列图书严谨、细致、深、编排考究的优,相信所有Android工程师和Java工程师都能从中受益。
【推荐语】
(1)作者是资深Android技术专家,从2011年始研究和分析Android源代码,是国内Android源码分析领域的奠基人物 (2)作者策划和主笔的“深理解Android”系列图书,已经出版7部,累计销售超过10万册,是Android源码分析领域的标杆,系统性和深度兼顾 (3)本书从源码角度深度剖析Android Java虚拟机ART架构、设计和实现原理,深刻揭示JVM工作流程与机制
【作者】
邓凡平   资深Android技术专家,国内早期从事Android技术研究和发的工程师之一。从底层的虚拟机,到中间的系统层和框架层,再到上层的各种应用,它对整个Android系统的源代码有非常深的研究和理解。策划并撰写了“深理解Android”系列图书(目前已出版8本),累计销量超过10万册,是广大Android工程师系统、深了解Android系统源代码的首选。 目前就职于民生银行总行科技部创新技术研究院,钻研和探索物联网等新技术在金融领域中的应用。曾就职于索尼移动,担任资深软件架构师。 他本人已出版著作: 《深理解Android:卷I》(2011年) 《深理解Android:卷II》(2012年) 《深理解Android:Wi-Fi、NFC和GPS卷》(2014年)
目录展开

前言

第1章 本书必读

1.1 概述

1.2 准备环境和工具

1.3 本书的内容

1.4 本书资源下载说明

第2章 深入理解Class文件格式

2.1 Class文件格式总览

2.2 常量池及相关内容

2.3 field_info和method_info

2.4 access_flags介绍

2.5 属性介绍

2.6 Java指令码介绍

2.7 学习路线推荐

2.8 参考资料

第3章 深入理解Dex文件格式

3.1 Dex文件格式总览

3.2 认识Dex文件

3.3 Dex指令码介绍

3.4 学习路线推荐

3.5 参考资料

第4章 深入理解ELF文件格式

4.1 概述

4.2 ELF文件格式介绍

4.3 学习路线推荐

4.4 参考资料

第5章 认识C++11

5.1 数据类型

5.2 C++源码构成及编译

5.3 Class介绍

5.4 操作符重载

5.5 函数模板与类模板

5.6 lambda表达式

5.7 STL介绍

5.8 其他常用知识

5.9 参考资料

第6章 编译dex字节码为机器码

6.1 编译器全貌介绍

6.2 编译器前端介绍

6.3 优化器介绍

6.4 ART中的IR—HInstruction

6.5 寄存器分配

6.6 机器码生成相关代码介绍

6.7 总结

6.8 参考资料

第7章 虚拟机的创建

7.1 概述

7.2 Runtime Create介绍

7.3 MemMap与OatFileManager

7.4 FaultManager介绍

7.5 Thread介绍

7.6 Heap学习之一

7.7 JavaVMExt和JNIEnvExt

7.8 ClassLinker

7.9 总结和阅读指导

第8章 虚拟机的启动

8.1 Runtime Start

8.2 初识JNI

8.3 Jit LoadCompilerLibrary

8.4 Runtime InitNativeMethods

8.5 Thread相关

8.6 Runtime CreateSystemClassLoader

8.7 类的加载、链接和初始化

8.8 虚拟机创建和启动关键内容梳理

第9章 深入理解dex2oat

9.1 概述

9.2 ParseArgs介绍

9.3 OpenFile介绍

9.4 Setup介绍

9.5 CompileImage

9.6 OAT和ART文件格式介绍

9.7 总结

第10章 解释执行和JIT

10.1 基础知识

10.2 解释执行

10.3 ART中的JIT

10.4 HDeoptimize的处理

10.5 Instrumentation介绍

10.6 异常投递和处理

10.7 总结

第11章 ART中的JNI

11.1 JavaVM和JNIEnv

11.2 Java native方法的调用

11.3 CallStaticVoidMethod

11.4 JNI中引用型对象的管理

11.5 总结

第12章 CheckPoints、线程同步及信号处理

12.1 CheckPoints介绍

12.2 ThreadList和ThreadState

12.3 线程同步相关知识

12.4 volatile成员的读写

12.5 信号处理

12.6 总结

第13章 内存分配与释放

13.1 Space等关键类介绍

13.2 ZygoteSpace

13.3 BumpPointerSpace和RegionSpace

13.4 DlMallocSpace和RosAllocSpace

13.5 LargeObjectMapSpace

13.6 new-instance/array指令的处理

13.7 细观Space

13.8 Heap学习之二

13.9 总结

第14章 ART中的GC

14.1 GC基础知识

14.2 Runtime VisitRoots

14.3 ART GC概览

14.4 MarkSweep

14.5 ConcurrentCopying

14.6 MarkCompact

14.7 SemiSpace

14.8 Java Reference对象的处理

14.9 Heap学习之三

14.10 总结

14.11 参考资料

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部