新書推薦:
《
分析性一体的涌现:进入精神分析的核心
》
售價:NT$
556.0
《
火枪与账簿:早期经济全球化时代的中国与东亚世界
》
售價:NT$
352.0
《
《全面与进步跨太平洋伙伴关系协定》国有企业条款研究
》
售價:NT$
449.0
《
银行业架构网络BIAN(全球数字化时代金融服务业框架)(数字化转型与创新管理丛书)
》
售價:NT$
449.0
《
金托邦:江湖中的沉重正义
》
售價:NT$
275.0
《
易经今解:释疑·解惑·见微
》
售價:NT$
403.0
《
东欧史(全二册)-“中间地带”的困境
》
售價:NT$
1010.0
《
虚拟资本:金融怎样挪用我们的未来
》
售價:NT$
352.0
|
編輯推薦: |
《深入解析Android虚拟机》循序渐进地讲解了Android系统框架结构、Java虚拟机和Dalvik虚拟机原理、程序编译和调试、Dalvik的运作流程和核心机制、DEX优化技术、安全管理、Android虚拟机生命周期管理、虚拟机内存分配策略、虚拟机的垃圾收集机制、线程管理机制和框架、JNI层的原理和核心理念、JIT编译等。从用户的实际需要出发,科学安排知识结构,反映了当前Android虚拟机技术的发展和应用水平。
·采用通俗、易懂的讲解方式
·汇集实用、易学的操作案例
·兼顾理论、案例的完美展现
|
內容簡介: |
《深入解析Android虚拟机》循序渐进地讲解了Android虚拟机技术的基本知识,内容新颖、知识全面、讲解详细。全书分为13个章节,分别讲解了Android系统的基础知识、Android系统的结构和核心框架、Java虚拟机和Dalvik虚拟机的知识、实现程序编译和调试、Dalvik的运作流程、DEX优化和安全管理、Android虚拟机生命周期管理和内存分配策略、虚拟机垃圾收集和线程管理、JNI的基本原理、JIT编译的基本过程和具体方法,以及虚拟机中的异常管理机制方面的知识。
《深入解析Android虚拟机》定位于Android的初、中级用户,既可以作为初学者的参考书,也可以作为有一定基础的读者的拔高书
|
目錄:
|
第1章 Android系统介绍
1.1 Android是一款智能手机
1.1.1 什么是智能手机
1.1.2 当前主流的智能手机系统
1.2 Android的巨大优势
1.3 在电脑上启动Android虚拟机
1.3.1 安装AndroidSDK
1.3.2 安装JDK、Eclipse、AndroidSDK
1.3.3 设定Android SDK Home
1.4 Android模拟器
1.4.1 Android模拟器简介
1.4.2 模拟器和仿真机究竟有何区别
1.4.3 创建Android虚拟设备(AVD)
1.4.4 模拟器的总结
1.5 搭建环境过程中的常见问题
1.5.1 不能在线更新
1.5.2 显示“Project name must be specified”提示
1.5.3 Target列表中没有Target选项
第2章 Android系统的结构
2.1 Android安装文件简介
2.1.1 AndroidSDK目录结构
2.1.2 android.jar及内部结构
2.1.3 SDK帮助文档
2.1.4 解析AndroidSDK实例
2.2 分析Android的系统架构
2.2.1 Android体系结构介绍
2.2.2 Android工程文件结构
2.2.3 应用程序的生命周期
2.3 简析Android内核
2.3.1 Android继承于Linux
2.3.2 Android内核和Linux内核的区别
2.4 简析Android源码
2.4.1 获取并编译Android源码
2.4.2 Android对Linux的改造
2.4.3 为Android构建Linux的操作系统
2.4.4 分析Android源码结构
2.4.5 编译Android源码
2.4.6 运行Android源码
2.5 实践演练——演示两种编译Android程序的方法
2.5.1 编译NativeC的helloworld模块
2.5.2 手工编译C模块
第3章 虚拟机概述
3.1 虚拟机的作用
3.2 Java虚拟机
3.2.1 理解Java虚拟机
3.2.2 Java虚拟机的数据类型
3.2.3 Java虚拟机的体系结构
3.2.4 Java虚拟机的生命周期
3.3 Android虚拟机-DalvikVM
3.3.1 Dalvik架构
3.3.2 和Java虚拟机的差异
3.3.3 DalvikVM的主要特征
3.3.4 DalvikVM的代码结构
3.4 Dalvik控制VM详解
3.5 DalvikVM架构
3.5.1 Dalvik的进程管理
3.5.2 Android的初始化流程
第4章 编译和调试
4.1 Windows环境编译Dalvik
4.2 GDB调试Dalvik
4.2.1 准备工作
4.2.2 GDB调试C程序
4.2.3 GDB调试Dalvik
4.3 使用dexdump
4.3.1 dexdump的反编译功能
4.3.2 使用dexdump查看jar文件
4.4 Dalvik虚拟机编译脚本
4.4.1 Android.mk文件
4.4.2 ReconfigureDvm.mk文件
4.4.3 dvm.mk文件
4.5 Android4.0.1 源码下载、模拟器编译和运行
第5章 Dalvik虚拟机的运作流程
5.1 Dalvik虚拟机相关的可执行程序
5.1.1 dalvikvm
5.1.2 dvz
5.1.3 app_process
5.2 Dalvik虚拟机的初始化
5.2.1 开始虚拟机的准备工作
5.2.2 初始化跟踪显示系统
5.2.3 初始化垃圾回收器
5.2.4 初始化线程列表和主线程环境参数
5.2.5 分配内部操作方法的表格内存
5.2.6 初始化虚拟机的指令码相关的内容
5.2.7 分配指令寄存器状态的内存
5.2.8 分配指令寄存器状态的内存
5.2.9 初始化虚拟机最基本用的Java库
5.2.10 进一步使用的Java类库线程类
5.2.11 初始化虚拟机使用的异常Java类库
5.2.12 释放字符串哈希表
5.2.13 初始化本地方法库的表
5.2.14 初始化内部本地方法
5.2.15 初始化JNI调用表
5.2.16 缓存Java类库里的反射类
5.2.17 最后的工作
5.3 启动zygote
5.3.1 在init.rc中配置zygote启动参数
5.3.2 启动Socket服务端口
5.3.3 加载preload-classes
5.3.4 i口载preload-resources
5.3.5 使用folk启动新进程
5.4 启动SystemServer进程
5.4.1 启动各种系统服务线程
5.4.2 启动第一个Activity
5.5 class类文件的加载
5.5.1 DexFile在内存中的映射
5.5.2 ClassObject-Class在加载后的表现形式
5.5.3 findClassNolnit-加载Class并生成相应ClassObject的函数
5.5.4 加载基本类库文件
5.5.5 加载用户类文件
5.6 解释执行类
5.6.1 Dalvik虚拟机字节码和JVM字节码的区别
5.6.2 Davik虚拟机的解释器优化
第6章 dex的优化和安全管理
6.1 Androiddex文件优化简介
6.2 dex文件的格式
6.2.1 map_list
6.2.2 string_idjtem
6.2.3 type_idjtem
6.2.4 proto_idjtem
6.2.5 field_id_item
6.2.6 method_id_item
6.2.7 class_def_item
6.3 dex文件结构
6.3.1 文件头(FileHeader)
6.3.2 魔数字段
6.3.3 检验码字段
6.3.4 SHA-l签名字段
6.3.5 map_off字段
……
第7章 生命周期管理
第8章 内存分配策略
第9章 垃圾收集
第10章 线程管理
第11章 JNI接口
第12章 JIT编译
第13章 异常管理
|
|