深入解析Android虚拟机【正版保证】 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
深入解析Android虚拟机【正版保证】电子书下载地址
寄语:
【正版书籍 闪电发货 品质无忧 可开发票】
内容简介:
Android系统从诞生到现在的短短几年时间里,凭借其易用性和开发的简洁性,赢得了广大开发者的支持。在整个Android系统中,Dalvik?VM一直是贯穿从底层内核到高层应用开发的核心。本书循序渐进地讲解了Android虚拟机系统的基本知识,并剖析了其整个内存系统的进程和运作流程,并对虚拟机系统优化和异常处理的知识进行了详细讲解。本书几乎涵盖了Dalvik?VM系统的所有主要内容,并且讲解方法通俗易懂,特别有利于读者学习并消化。
本书适合Android初学者、Android底层开发人员、源代码分析人员和虚拟机开发人员学习,也可以作为大专院校相关专业师生的学习用书和培训学校的教材。
书籍目录:
第1章 获取并编译Android源码 11.1 获取Android源码 11.1.1 在Linux系统获取Android源码 11.1.2 在Windows平台获取Android源码 21.1.3 Windows获取Android?L源码 41.2 分析Android源码结构 61.3 编译Android源码 81.3.1 搭建编译环境 81.3.2 开始编译 91.3.3 在模拟器中运行 101.3.4 常见的错误分析 101.3.5 实践演练—演示两种编译Android程序的方法 111.4 编译Android?Kernel 141.4.1 获取Goldfish内核代码 141.4.2 获取MSM内核代码 171.4.3 获取OMAP内核代码 171.4.4 编译Android的Linux内核 17第2章 Java虚拟机基础 192.1 虚拟机的作用 192.2 Java虚拟机概述 202.2.1 JVM的数据类型 202.2.2 Java虚拟机体系结构 212.2.3 JVM的生命周期 252.3 JVM的安全性 262.3.1 JVM的安全模型 262.3.2 沙箱模型的4种组件 272.3.3 分析Java的策略机制 282.4 网络移动性 292.4.1 现实需要网络移动性 292.4.2 网络移动性 302.5 内存异常和垃圾处理 312.5.1 内存分配中的栈和堆 312.5.2 运行时的数据区域 332.5.3 对象访问 342.5.4 内存泄露 352.5.5 JVM的垃圾收集策略 362.5.6 垃圾收集器 372.6 Java内存模型 372.6.1 Java内存模型概述 382.6.2 主内存与工作内存 382.6.3 内存间交互操作 39第3章 Dalvik和ART基础 403.1 Dalvik?VM和JVM的差异 403.2 Dalvik虚拟机的主要特征 413.3 Dalvik?VM架构 423.3.1 Dalvik虚拟机的代码结构 423.3.2 dx工具 443.3.3 Dalvik?VM的进程管理 443.3.4 Android的初始化流程 443.4 Dalvik?VM控制VM命令详解 453.4.1 基本命令 453.4.2 扩展的JNI检测 453.4.3 断言 463.4.4 字节码校验和优化 463.4.5 Dalvik?VM的运行模式 473.4.6 死锁预测 473.4.7 dump堆栈追踪 483.4.8 dex文件和校验 483.4.9 产生标志位 483.5 ART机制基础 483.5.1 什么是ART模式 483.5.2 ART优化机制基础 50第4章 分析JNI 524.1 JNI的本质 524.2 分析Java层 544.2.1 加载JNI库 544.2.2 实现扫描工作 554.2.3 读取并保存信息 564.2.4 删除SD卡外的信息 584.2.5 直接转向JNI 584.2.6 扫描函数scanFile 594.2.7 JNI中的异常处理 594.3 分析JNI层 604.3.1 将Native对象的指针保存到Java对象 604.3.2 创建Native层的MediaScanner对象 604.4 Native(本地)层 614.4.1 注册JNI函数 614.4.2 完成注册工作 634.4.3 动态注册 644.4.4 处理路径参数 654.4.5 扫描文件 664.4.6 添加TAG信息 664.4.7 总结函数JNI_OnLoad()与函数JNI_OnUnload()的用途 674.4.8 Java与JNI基本数据类型转换 674.4.9 JNIEnv接口 694.4.10 JNI中的环境变量 70第5章 分析内存系统 715.1 分析Android的进程通信机制 715.1.1 Android的进程间通信(IPC)机制Binder 715.1.2 Service?Manager是Binder机制的上下文管理者 725.1.3 Service?Manager服务 865.2 匿名共享内存子系统详解 895.2.1 基础数据结构 895.2.2 初始化处理 905.2.3 打开匿名共享内存设备文件 915.2.4 内存映射 935.2.5 读写操作 945.2.6 锁定和解锁 955.2.7 回收内存块 1005.3 C++访问接口层详解 1015.3.1 接口MemoryBase 1015.3.2 接口MemoryBase 1085.4 Java访问接口层详解 111第6章 Android程序的生命周期管理 1156.1 Android程序的生命周期 1156.1.1 进程和线程 1156.1.2 进程的类型 1166.2 Activity的生命周期 1166.2.1 Activity的几种状态 1176.2.2 分解剖析Activity 1176.2.3 几个典型的场景 1196.2.4 管理Activity的生命周期 1196.2.5 Activity的实例化与启动 1206.2.6 Activity的暂停与继续 1206.2.7 Activity的关闭/销毁与重新运行 1216.2.8 Activity的启动模式 1216.3 进程与线程 1226.3.1 进程 1226.3.2 线程 1236.3.3 线程安全的方法 1236.3.4 Android的线程模型 1236.4 测试生命周期 1256.5 Service的生命周期 1296.5.1 Service的基本概念和用途 1296.5.2 Service的生命周期详解 1296.5.3 Service与Activity通信 1296.6 Android广播的生命周期 1336.6.1 Android?的广播机制 1336.6.2 编写广播程序 1336.7 ART进程管理 135第7章 IPC进程通信机制 1477.1 Binder机制概述 1477.2 Service?Manager是Binder机制的上下文管理者 1487.2.1 入口函数 1487.2.2 打开Binder设备文件 1497.2.3 创建设备文件 1497.2.4 管理内存映射地址空间 1547.2.5 发生通知 1567.2.6 循环等待 1617.3 内存映射 1627.3.1 实现内存分配功能 1627.3.2 分配物理内存 1647.3.3 释放物理页面 1667.3.4 分配内核缓冲区 1677.3.5 释放内核缓冲区 1687.3.6 查询内核缓冲区 170第8章 init进程详解 1718.1 init基础 1718.2 分析入口函数 1728.3 配置文件详解 1748.3.1 init.rc简介 1748.3.2 分析init.rc的过程 1768.4 解析service 1798.4.1 Zygote对应的service?action 1798.4.2 init组织service 1808.4.3 函数parse_service和parse_line_service 1818.5 字段on 1848.5.1 Zygote对应的on?action 1848.5.2 init组织on 1858.5.3 解析on用到的函数 1868.6 在init控制service 1868.6.1 启动Zygote 1868.6.2 启动service 1878.6.3 4种启动service的方式 1918.7 控制属性服务 1948.7.1 引入属性 1948.7.2 初始化属性服务 1978.7.3 启动属性服务 1978.7.4 处理设置属性的请求 200第9章 Dalvik?VM的进程系统 2029.1 Zygote(孕育)进程详解 2029.1.1 Zygote基础 2029.1.2 分析Zygote的启动过程 2039.2 System进程详解 2169.2.1 启动System进程前的准备工作 2169.2.2 分析SystemServer 2179.2.3 分析EntropyService 2209.2.4 分析DropBoxManagerService 2229.2.5 分析DiskStatsService 2279.2.6 分析DeviceStorageManager?Service 2319.2.7 分析SamplingProfilerService 2339.2.8 分析ClipboardService 2419.3 应用程序进程详解 2479.3.1 创建应用程序 2479.3.2 启动线程池 2569.3.3 创建信息循环 257第10章 Dalvik?VM运作流程详解 25910.1 Dalvik?VM相关的可执行程序 25910.1.1 dalvikvm、dvz和app_process简介 25910.1.2 对比app_process和dalvikvm的执行过程 26010.2 初始化Dalvik虚拟机 26210.2.1 开始虚拟机的准备工作 26210.2.2 初始化跟踪显示系统 26210.2.3 初始化垃圾回收器 26310.2.4 初始化线程列表和主线程环境参数 26310.2.5 分配内部操作方法的表格内存 26410.2.6 初始化虚拟机的指令码相关的内容 26410.2.7 分配指令寄存器状态的内存 26410.2.8 分配指令寄存器状态的内存和最基本用的Java库 26510.2.9 初始化使用的Java类库线程类 26610.2.10 初始化虚拟机使用的异常Java类库 26710.2.11 初始化其他对象 26810.3 启动Zygote 27610.3.1 在init.rc中配置Zygote启动参数 27610.3.2 启动Socket服务端口 27610.3.3 加载preload-classes 27710.3.4 加载preload-resources 27710.3.5 使用folk启动新进程 27810.4 启动SystemServer进程 27810.4.1 启动各种系统服务线程 27910.4.2 启动个Activity 28010.5 加载class类文件 28110.5.1 DexFile在内存中的映射 28110.5.2 ClassObject—Class在加载后的表现形式 28310.5.3 加载Class并生成相应ClassObject的函数 28310.5.4 加载基本类库文件 28410.5.5 加载用户类文件 284第11章 DEX文件详解 28511.1 DEX文件介绍 28511.2 DEX文件的格式 28511.2.1 map_list 28611.2.2 string_id_item 28811.2.3 type_id_item 29111.2.4 proto_id_item 29211.2.5 ield_id_item 29311.2.6 method_id_item 29311.2.7 class_def_item 29411.3 DEX文件结构 29711.3.1 文件头(File?Header) 29711.3.2 魔数字段 29811.3.3 检验码字段 29811.3.4 SHA-1签名字段 30011.3.5 map_off字段 30011.3.6 string_ids_size和off字段 30111.4 DEXFile接口详解 30311.4.1 构造函数 30311.4.2 公共方法 30411.5 DEX和动态加载类机制 30611.5.1 类加载机制 30611.5.2 具体加载 30611.5.3 代码加密 30811.6 动态加载jar和DEX 309第12章 Dvlik?VM内存系统详解 31012.1 如何分配内存 31012.2 内存管理机制详解 31212.3 优化Dalvik虚拟机的堆内存分配 326第13章 Dalvik?VM垃圾收集机制 32813.1 引用计数算法 32813.2 Mark?Sweep算法 32813.3 和垃圾收集算法有关的函数 33013.4 垃圾回收的时机 34613.5 调试信息 34713.6 Dalvik?VM和JVM垃圾收集机制的区别 348第14章 Dalvik?VM内存优化机制详解 35014.1 sp和wp简介 35014.1.1 sp基础 35014.1.2 wp基础 35114.2 智能指针详解 35114.2.1 智能指针基础 35214.2.2 轻量级指针 35314.2.3 强指针 35514.2.4 弱指针 365第15章 分析Dalvik?VM的启动过程 36915.1 Dalvik?VM启动流程概览 36915.2 Dalvik?VM启动过程详解 37015.2.1 创建Dalvik?VM实例 37015.2.2 指定一系列控制选项 37115.2.3 创建并初始化Dalvik?VM实例 37615.2.4 创建JNIEnvExt对象 37815.2.5 设置当前进程和进程组ID 38215.2.6 注册Android核心类的JNI方法 38215.2.7 创建javaCreateThreadEtc钩子 385第16章 注册Dalvik?VM并创建线程 38716.1 注册Dalvik?VM的JNI方法 38716.1.1 设置加载程序 38716.1.2 加载so文件并验证 38716.1.3 获取描述类 39216.1.4 注册JNI方法 39216.1.5 实现JNI操作 39416.2 创建Dalvik?VM进程 39516.2.1 分析底层启动过程 39516.2.2 创建Dalvik?VM进程 39516.2.3 初始化运行的Dalvik?VM 39816.3 创建Dalvik?VM线程 39916.3.1 检查状态值 39916.3.2 创建线程 39916.3.3 分析启动过程 40216.3.4 清理线程 404第17章 Dalvik?VM异常处理详解 40717.1 Java异常处理机制 40717.1.1 方法调用栈 40717.1.2 Java提供的异常处理类 40917.2 Java?VM异常处理机制详解 40917.2.1 Java语言及虚拟机的异常处理机制 41017.2.2 COSIX虚拟机异常处理的设计与实现 41017.3 分析Dalvik虚拟机异常处理的源码 41417.3.1 初始化虚拟机使用的异常Java类库 41417.3.2 抛出一个线程异常 41517.3.3 持续抛出进程 41517.3.4 找出异常原因 41617.3.5 找出异常原因 41717.3.6 清除挂起的异常和等待初始化的异常 42017.3.7 包装“现在等待”异常的不同例外 42017.3.8 输出跟踪当前异常的错误信息 42117.3.9 搜索和当前异常相匹配的方法 42117.3.10 获取匹配的捕获块 42317.3.11 进行堆栈跟踪 42417.3.12 生成堆栈跟踪元素 42517.3.13 将内容添加到堆栈跟踪日志中 42617.3.14 将内容添加到堆栈跟踪日志中 42717.4 常见异常的类型与原因 42817.4.1 SQLException:操作数据库异常类 42817.4.2 ClassCastException:数据类型转换异常 42817.4.3 NumberFormatException:字符串转换为数字类型时抛出的异常 42817.5 调用堆栈跟踪分析异常 42917.5.1 解决段错误 42917.5.2 跟踪Android?Callback调用堆栈 431第18章 JIT编译 43418.1 JIT简介 43418.1.1 JIT概述 43418.1.2 Java虚拟机主要的优化技术 43618.1.3 Dalvik中JIT的实现 43618.2 Dalvik?VM对JIT的支持 43618.3 汇编代码和改动 43818.3.1 汇编部分代码 43818.3.2 对C文件的改动 43818.4 Dalvik?VM中的JIT源码 43918.4.1 入口文件 43918.4.2 核心函数 44718.4.3 编译文件 45018.4.4 BasicBlock处理 45818.4.5 内存初始化 45918.4.6 对JIT源码的总结 462第19章 Dalvik?VM内存优化 46319.1 Android内存优化的作用 46319.2 查看Android内存和CPU使用情况 46419.2.1 利用Android?API函数查看 46419.2.2 直接对Android文件进行解析查询 46419.2.3 通过Runtime类实现 46519.2.4 使用DDMS工具获取 46519.2.5 其他方法 46919.3 Android的内存泄露 47219.3.1 什么是内存泄漏 47219.3.2 为什么会发生内存泄露 47319.3.3 shallow?size、retained?size 47419.3.4 查看Android内存泄露的工具——MAT 47519.3.5 查看Android内存泄露的方法 47819.3.6 Android(Java)中常见的容易引起内存泄漏的不良代码 48019.4 常见的引起内存泄露的坏习惯 48019.4.1 查询数据库时忘记关闭游标 48119.4.2 构造Adapter时不习惯使用缓存的convertView 48119.4.3 没有及时释放对象的引用 48219.4.4 不在使用Bitmap对象时调用recycle()释放内存 48219.5 解决内存泄露实践 48319.5.1 使用MAT根据heap?dump分析Java代码内存泄漏的根源 48319.5.2 演练Android中内存泄露代码优化及检测 489第20章 Dalvik?VM性能优化 49120.1 加载APK/DEX文件优化 49120.1.1 APK文件介绍 49220.1.2 DEX文件优化 49320.1.3 使用类动态加载技术实现加密优化 49320.2 SD卡优化 49620.3 虚拟机优化详解 49720.3.1 平台优化—ARM的流水线技术 49720.3.2 Android对C库优化 50120.3.3 优化创建的进程 50420.3.4 渲染优化 504第21章 分析ART的启动过程 50821.1 运行环境的转换 50821.2 运行?app_process?进程 50921.3 准备启动 51221.4 创建运行实例 51821.5 注册本地JNI函数 51921.6 启动守护进程 52021.7 解析参数 52121.8 初始化类、方法和域 528第22章 执行ART主程序 53422.1 进入main主函数 53422.2 查找目标类 53522.2.1 函数LookupClass() 53522.2.2 函数DefineClass() 53722.2.3 函数InsertClass() 54022.2.4 函数LinkClass() 54122.3 类操作 54322.4 实现托管操作 544第23章 安装APK应用程序 54923.1 PackageManagerService概述 54923.2 主函数main 54923.3 调用初始化函数 55023.4 创建PackageManagerService服务 55323.5 扫描并解析 55423.6 保存解析信息 570第24章 ART环境安装APK应用程序 57224.1 Android安装APK概述 57224.2 启动时安装 57224.3 ART安装 58124.4 实现dex2oat转换 58624.4.1 参数解析 58624.4.2 创建?OAT文件指针 58824.4.3 dex2oat准备工作 58824.4.4 提取classes.dex文件 58924.4.5 创建OAT文件 59424.5 APK文件的转换 595
作者介绍:
钟世礼,计算机硕士,精通C、C++、Linux、Java开发技术,擅长多媒体硬件处理、多媒体信号采集、嵌入式系统集成、物联网、大数据等开发技术,对蓝牙技术、传感器、NFC数据传播、红外传输技术有独特的见解。毕业后就职于施耐德公司,负责智能家居系统的研究、开发和产品设计工作,和开发团队一起研究出多款功能强大的智能家居、健康仪器、智能电视、车载设备等大型系统。在Android底层架构和驱动开发方面有着丰富的经验,硬件驱动开发专家。
出版社信息:
暂无出版社相关信息,正在全力查找中!
书籍摘录:
暂无相关书籍摘录,正在全力查找中!
在线阅读/听书/购买/PDF下载地址:
原文赏析:
暂无原文赏析,正在全力查找中!
其它内容:
书籍介绍
Android系统从诞生到现在的短短几年时间里,凭借其易用性和开发的简洁性,赢得了广大开发者的支持。在整个Android系统中,Dalvik VM一直是贯穿从底层内核到高层应用开发的核心。本书循序渐进地讲解了Android虚拟机系统的基本知识,并剖析了其整个内存系统的进程和运作流程,并对虚拟机系统优化和异常处理的知识进行了详细讲解。本书几乎涵盖了Dalvik VM系统的所有主要内容,并且讲解方法通俗易懂,特别有利于读者学习并消化。
本书适合Android初学者、Android底层开发人员、源代码分析人员和虚拟机开发人员学习,也可以作为大专院校相关专业师生的学习用书和培训学校的教材。
网站评分
书籍多样性:9分
书籍信息完全性:3分
网站更新速度:3分
使用便利性:5分
书籍清晰度:4分
书籍格式兼容性:7分
是否包含广告:9分
加载速度:9分
安全性:7分
稳定性:9分
搜索功能:8分
下载便捷性:6分
下载点评
- 无颠倒(302+)
- 还行吧(367+)
- 速度慢(444+)
- 书籍完整(524+)
- 二星好评(410+)
- 无多页(154+)
下载评价
- 网友 芮***枫: ( 2025-01-09 14:43:53 )
有点意思的网站,赞一个真心好好好 哈哈
- 网友 蓬***之: ( 2025-01-10 10:18:49 )
好棒good
- 网友 权***波: ( 2024-12-20 12:37:30 )
收费就是好,还可以多种搜索,实在不行直接留言,24小时没发到你邮箱自动退款的!
- 网友 隗***杉: ( 2025-01-06 17:01:24 )
挺好的,还好看!支持!快下载吧!
- 网友 訾***晴: ( 2025-01-09 02:46:59 )
挺好的,书籍丰富
- 网友 游***钰: ( 2025-01-03 09:46:48 )
用了才知道好用,推荐!太好用了
- 网友 陈***秋: ( 2025-01-05 16:43:24 )
不错,图文清晰,无错版,可以入手。
- 网友 常***翠: ( 2025-01-19 09:22:14 )
哈哈哈哈哈哈
- 网友 孙***夏: ( 2024-12-29 10:48:01 )
中评,比上不足比下有余
喜欢"深入解析Android虚拟机【正版保证】"的人也看了
带本地图游中国 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
麦肯锡结构化战略思维 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
ar涂涂乐4d儿童绘画图画本填色书涂鸦描红本幼儿园初学者早教益智:多彩的生活 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
普林斯顿恐龙大图鉴 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
学而思小学数学计算天天练二年级下册全国通用版(6册)教材同步 每天7分钟计算口算 整页拍批配套视频讲解2年级(1.2.6年级全国通用,3-5年级人教.北师.苏教可选,上下册可选) 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 半导体异相光催化:热动力学机制研究和实验论证,刘保顺,赵修建著,科学出版社,9787030389008 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 家长巧点拨 轻松辅导孩子学数学 5年级 下册 湖南少年儿童出版社 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 工业设计看这本就够了 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 怎么教,孩子才会写:小学低年级写话教学案例 大夏书系 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 全国卫生专业职称技术资格考试 妇产科主治医师资格考试考点速记(第二版)(主治医师晋升宝典) 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- GB50490-2009城市轨道交通技术规范 中国建筑工业出版社 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 奇妙萌可公主品格培养拼音认读故事:自信放光芒 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 七数人上 聚优运算升级卡七年级上册数学人教版RJ 初中学生7年级上册初一年级数学口算计算题卡天天练计算题册练习题专项训练正版 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 放射科诊疗常规(临床医疗护理常规:2019年版) 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 2023新书 工程造价修炼50堂课 全过程工程造价管理实操系列 深入造价做造价工程造价疑难问题解析跳出系列书 中国建筑工业出版社 9787112284078 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
书籍真实打分
故事情节:4分
人物塑造:7分
主题深度:8分
文字风格:7分
语言运用:9分
文笔流畅:5分
思想传递:3分
知识深度:6分
知识广度:7分
实用性:6分
章节划分:7分
结构布局:3分
新颖与独特:4分
情感共鸣:3分
引人入胜:6分
现实相关:3分
沉浸感:7分
事实准确性:8分
文化贡献:3分