深入解析Android虚拟机 封面

深入解析Android虚拟机

暂无评分
章节数
25
ISBN
9787115423535

标签

内容简介

本书由钟世礼编著,人民邮电出版社2016年出版,全书约595页,以Android系统源码为线索,系统讲解Dalvik VM与ART两代Android虚拟机的内部机制。全书按“先搭环境、再打基础、后拆内核”的顺序展开:开篇介绍如何在Linux与Windows平台获取并编译Android源码,包括内置Linux内核源码的编译;随后回顾Java虚拟机基础,涵盖JVM体系结构、安全模型与沙箱机制、运行时数据区域、对象访问与垃圾收集策略、Java内存模型等,为理解Dalvik作铺垫。第3章起进入正题,先对比Dalvik与JVM的差异、归纳Dalvik的主要特征与代码结构,并介绍dx工具、dvvm控制命令及ART模式基础;接着依次分析JNI机制、内存系统、Android程序生命周期管理与IPC进程通信、init进程,以及Dalvik VM的进程系统与运作流程。中段重点解析DEX文件格式、Dalvik VM内存系统、垃圾收集机制与内存优化机制,并跟踪其启动过程、注册虚拟机与创建线程、异常处理以及JIT编译;后段转向性能优化,并剖析ART的启动过程、执行ART主程序,以及在Dalvik与ART环境下安装APK应用程序的差异。

编辑推荐

市面上讲Android应用层的书很多,真正下沉到虚拟机这一层的却少。本书的价值在于它把Dalvik VM和ART当作一条主线,从源码获取与编译一路走到DEX解析、内存系统、垃圾收集、JIT与ART启动,几乎覆盖了Android虚拟机的主要知识点,路线完整,前后逻辑衔接自然。作者采用由浅入深的写法,概念先行、源码随后,每讲一个机制都尽量给出进程与运作流程,而不是孤立罗列代码片段,对没有系统学过虚拟机的读者也算友好。第24章专门对比在Dalvik与ART环境下安装APK的差异,恰是理解两代运行时演进的关键,这类细节在同类书中并不多见。需要提醒的是,本书写作于2016年前后,源码版本以当时的Android为主,之后Android运行时又历经多轮演进,读者宜把它当作理解Dalvik/ART经典机制的底本,配合较新的AOSP源码对照阅读。

适合谁读

适合

  • 想从应用层转入Android底层与源码分析的开发者
  • 需要系统理解Dalvik/ART运行时机制的工程师
  • 做性能优化、内存问题排查与崩溃分析的技术人员
  • 高校计算机、移动开发方向师生及培训机构教材使用者

不适合

  • 完全没有Java和C/C++基础、只想学做App界面的入门者
  • 只关注Jetpack、Compose等现代应用框架的读者
  • 期待覆盖Android最新运行时(如后续新版ART)的读者

阅读建议

  1. 先读第2、3章打好JVM与Dalvik/ART的差异认知,再进入源码级章节,避免一上来被细节淹没。
  2. 第1章的源码编译环节动手做一遍,后续章节的调用链才有可对照的实际代码。
  3. 按“进程与启动—DEX与内存—垃圾收集与优化—ART”四条线程做笔记,把分散章节串成一张运行时地图。
  4. 结合较新AOSP源码对照阅读,留意书中结论在后续版本中的变化,并配合自行编写小实验验证。

出版社简介

人民邮电出版社 中国 · 成立于 1953 年

人民邮电出版社以科技、计算机与信息通信类图书见长,并由此延伸至摄影、艺术、软件学习与励志成长等门类,形成较为多元的出版方向。库内图书既涵盖《重构与模式(修订版)》《华为交换机学习指南(第二版)》等计算机与通信技术读物,也收录《小王子(中英法彩绘典藏纪念版)》《了不起的盖茨比》《假如给我三天光明》等双语典藏类作品;《北京十年:1980-1990》与《鬼刀 WLOP个人插画作品集》则体现其在摄影与艺术领域的布局。作者资源包括安东尼·圣埃克苏佩里、海伦·凯勒、Joshua Kerievsky、王达、张兆增与WLOP等。

目录

  1. 前言
  2. 第1章 获取并编译Android源码
  3. 第2章 Java虚拟机基础
  4. 第3章 Dalvik和ART基础
  5. 第4章 分析JNI
  6. 第5章 分析内存系统
  7. 第6章 Android程序的生命周期管理
  8. 第7章 IPC进程通信机制
  9. 第8章 init进程详解
  10. 第9章 Dalvik VM的进程系统
  11. 第10章 Dalvik VM运作流程详解
  12. 第11章 DEX文件详解
  13. 第12章 Dalvik VM内存系统详解
  14. 第13章 Dalvik VM垃圾收集机制
  15. 第14章 Dalvik VM内存优化机制详解
  16. 第15章 分析Dalvik VM的启动过程
  17. 第16章 注册Dalvik VM并创建线程
  18. 第17章 Dalvik VM异常处理详解
  19. 第18章 JIT编译
  20. 第19章 Dalvik VM内存优化
  21. 第20章 Dalvik VM性能优化
  22. 第21章 分析ART的启动过程
  23. 第22章 执行ART主程序
  24. 第23章 安装APK应用程序
  25. 第24章 ART环境安装APK应用程序

常见问题

这本书讲的是Dalvik还是ART?
两者都讲。全书以Dalvik VM为主线,用约二十章分析其进程系统、运作流程、DEX文件、内存系统、垃圾收集、启动过程、异常处理与JIT等,最后四章转向ART的启动、主程序执行及两种环境下安装APK的差异。
书中的源码分析会在哪个Android版本上更准确?
本书2016年出版,内容基于成书时期的Android源码,并提到Windows获取Android L源码。越接近该书写作年份的AOSP版本越容易对上,之后的版本中运行时已有较多演进,需要自行辨别差异。
零基础能读懂这本书吗?
不太适合完全零基础者。书中涉及JNI、C/C++与大量系统源码调用链,建议先具备Java基础、了解Linux与基本的操作系统概念,再读第2章Java虚拟机基础,然后进入后续章节。
这本书页数和价格大概是多少?
据图书馆书目与书店信息,全书595页、16开,2016年出版时的定价为99元。具体售价会随渠道与新旧程度变化,购买前建议核实。

读者评论

查询本书

本站为索引目录:「全网查询」由您发起、在您的浏览器中运行,所列入口均指向第三方站点,请自行判断可用性。

作者简介

钟世礼 作者

钟世礼,目前公开资料有限,其相关背景信息尚未见到系统披露。从库内收录情况看,钟世礼有作品《深入解析Android 虚拟机》一种,分类归入编程设计。该书围绕 Android 虚拟机展开深入解析,属于面向开发者的技术类读物,题材集中在移动操作系统底层机制与程序运行原理方面。就写作取向而言,这类作品通常强调原理剖析与实现细节的结合,服务于希望理解 Android 运行环境的技术读者。由于作者生平资料较少,暂无法补充其教育背景、从业经历或其它著作信息;读者可将其视为一位在 Android 技术领域进行专题写作的作者,通过该书了解相关底层知识。

同一作者

同类高分