- ISBN:9787302344087
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:其它
- 页数:427
- 出版时间:2014-01-01
- 条形码:9787302344087 ; 978-7-302-34408-7
本书特色
《深入解析android虚拟机》循序渐进地讲解了android虚拟机技术的基本知识,内容新颖、知识全面、讲解详细。全书分为13个章节,分别讲解了android系统的基础知识、android系统的结构和核心框架、java虚拟机和dalvik虚拟机的知识、实现程序编译和调试、dalvik的运作流程、dex优化和安全管理、android虚拟机生命周期管理和内存分配策略、虚拟机垃圾收集和线程管理、jni的基本原理、jit编译的基本过程和具体方法,以及虚拟机中的异常管理机制方面的知识。 《深入解析android虚拟机》定位于android的初、中级用户,既可以作为初学者的参考书,也可以作为有一定基础的读者的拔高书
内容简介
《深入解析android虚拟机》循序渐进地讲解了android系统框架结构、java虚拟机和dalvik虚拟机原理、程序编译和调试、dalvik的运作流程和核心机制、dex优化技术、安全管理、android虚拟机生命周期管理、虚拟机内存分配策略、虚拟机的垃圾收集机制、线程管理机制和框架、jni层的原理和核心理念、jit编译等。从用户的实际需要出发,科学安排知识结构,反映了当前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章 异常管理
-
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
硅谷之火-人与计算机的未来
¥14.3¥39.8 -
全图解零基础word excel ppt 应用教程
¥12.0¥48.0 -
机器学习
¥59.4¥108.0 -
深度学习的数学
¥43.5¥69.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥37.7¥65.0 -
元启发式算法与背包问题研究
¥38.2¥49.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥77.4¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
界面交互设计理论研究
¥30.8¥56.0 -
UN NX 12.0多轴数控编程案例教程
¥25.8¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
Go 语言运维开发 : Kubernetes 项目实战
¥48.2¥79.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥84.5¥119.0