前言
Android虚拟机技术——Dalvik VM是通往Android高级开发的必备技术!为了让广大读者深入理解Android系统,不再停留在抽象的原理和概念之上,本书对Android虚拟机方面的知识进行了细致分析,这样做的目的是“提炼”出Android系统的本质,了解Android系统究竟是如何运作的,进程和线程之间是如何协调并进的,内存之间是如何分配并存的。并以此为基础,详细讲解了内存优化、垃圾收集和系统优化方面的基本原理和具体实现。
本书的内容
本书共24章,循序渐进地讲解了Android虚拟机系统的基本知识,从获取并编译Android源码开始,依次讲解了Java虚拟机基础、Android虚拟机基础、分析JNI、分析内存系统、Android程序的生命周期管理、IPC进程通信机制、init进程、Dalvik VM的进程系统、Dalvik VM运作流程、DEX文件、Dvlik VM内存系统、Dalvik VM垃圾收集机制、Dalvik VM内存优化机制、Dalvik VM的启动过程、注册Dalvik VM并创建线程、Dalvik VM异常处理、JIT编译、Dalvik VM内存优化、Dalvik VM性能优化等内容。
本书特色
在内容的编写上,本书具有以下特色。
(1)结构合理
从用户的实际需要出发,科学安排知识结构,详细讲解了Android虚拟机的各方面知识,内容循序渐进、由浅入深。
(2)遵循“基础讲解—源码分析—核心技术剖析”这一主线
为了使广大读者彻底弄清楚Android虚拟机中的各个知识点,剖析了与Android虚拟机相关的进程运行机制、内存系统、生命周期管理等核心知识,并讲解了读者关心的系统优化技术。
(3)易学易懂
本书内容条理清晰、语言简洁,可以帮助读者快速掌握每个知识点。使读者既可以按照本书编排的章节顺序进行学习,也可以根据自己的需求对某一章节进行有针对性地学习。
本书参考资料
由于Android虚拟机系统十分深奥,加上市面上的相关资料十分稀缺。作者在写作过程中对每一段文字都进行了深入研究和推敲,并参阅了国内外大师们的经典资料,对这些资料进行了深入地研读。在作者的写作过程中,从下面4部分资料中获得了帮助。
(1)Oracle官方资料
http://docs.oracle.com/javase/7/docs/
http://docs.oracle.com/javase/6/docs/
http://www.oracle.com/technetwork/java/
上述资料是Oracle官方提供的Java虚拟机资料,这些资料也是国内外读者学习Java虚拟机的第一手资料。
(2)国外经典名著
《The Java Language Specification, Third Edition》
《The Java Virtual Machine Specification》
上述资料是国外大师们根据Oracle官方资料而著成的经典名著,也是国内外读者学习Java虚拟机的参考资料。在国内的一些开源论坛中,有很多热心网友进行了翻译。
(3)Google官方资料
Google I/O 2010- A JIT Compiler for Android's Dalvik VM
Dalvik VM Internals - Presentation from Google I/O 2008, by Dan Bornstein
Detailed Dalvik specifications documents
上述资料是Google公司《Google I/O讲座系列》的内容,讲解了Android虚拟机优化和内存系统的知识,对广大初学者来说有很强的借鉴作用。当然,Google提供的Android源码更是人们分析Dalvik VM的第一手资料。
(4)国内著作
《解析Java虚拟机开发:权衡优化、高效和安全的最优方案》清华大学出版社,张善香,2013-06-01。
这是国内技术高人的一本著作,可以说是讲解Java虚拟机方面较全的一本参考书。里面介绍的很多内容对写作本书有很大启发,想了解这方面内容的读者可以参考一下。
读者对象
· 初学Android编程的自学者
· Linux开发人员
· 大中专院校的老师和学生
· 做毕业设计的学生
· Android编程爱好者
· 相关培训机构的老师和学员
· 从事Android开发的程序员
本书在编写过程中,我的家人在我写作时给予了巨大支持,在此表示深深的感谢。另外,由于本人水平有限,书中如有纰漏和不尽如人意之处在所难免,诚请读者提出意见或建议,以便今后修订并使之更臻完善。另外为本书提供了售后支持网站:http://www.toppr.net/,读者如有疑问可以在此提出,一定会得到满意的答复。编辑联系邮箱:zhangtao@ptpress.com.cn。
作者