诺森图书音像专营店
  • 扫码下单

  • 音像深入理解Android(Java虚拟机ART)邓凡平
  • 正版
    • 作者: 邓凡平著 | 邓凡平编 | 邓凡平译 | 邓凡平绘
    • 出版社: 机械工业出版社
    • 出版时间:2019-04-01
    送至
  • 由""直接销售和发货,并提供售后服务
  • 加入购物车 购买电子书
    服务

    看了又看

    商品预定流程:

    查看大图
    /
    ×

    店铺装修中

    商家:
    诺森图书音像专营店
    联系:
    • 商品

    • 服务

    • 物流

    搜索店内商品

    诺森图书音像专营店

  • 商品参数
    • 作者: 邓凡平著| 邓凡平编| 邓凡平译| 邓凡平绘
    • 出版社:机械工业出版社
    • 出版时间:2019-04-01
    • 版次:1
    • 印次:1
    • 印刷时间:2019-04-01
    • ISBN:9787111621225
    • 版权提供:机械工业出版社
    • 作者:邓凡平
    • 著:邓凡平
    • 装帧:暂无
    • 印次:1
    • 定价:169.00
    • ISBN:9787111621225
    • 出版社:机械工业
    • 开本:暂无
    • 印刷时间:2019-04-01
    • 语种:暂无
    • 出版时间:2019-04-01
    • 页数:暂无
    • 外部编号:30598462
    • 版次:1
    • 成品尺寸:暂无


    前言
    章 本书1
    1.1 概述1
    1.2 准备环境和工具2
    1.2.1 准备源代码2
    1.2.2 准备Source Insight2
    1.. 准备模拟器和自制系统镜像5
    1.2.4 小结8
    1.3 本书的内容9
    1.4 本书资源下载说明12
    第2章 深入理解Class文件格式13
    2.1 Class文件格式总览13
    2.2 常量池及相关内容14
    2.2.1 常量项的类型和关系14
    2.2.2 信息描述规则18
    2.. 常量池实例剖析19
    . field_info和method_inf9
    2.4 access_as介绍21
    2.5 属介绍22
    2.5.1 属概貌22
    2.5.2 Code属
    2.5.3 LineNumberTable属25
    2.5.4 LocalVariableTable属26
    2.6 Java指令码介绍27
    2.6.1 指令码和记符27
    2.6.2 如何阅读规范28
    2.7 学习路线30
    2.8 参考资料30
    第3章 深入理解Dex文件格式31
    3.1 Dex文件格式总览31
    3.1.1 Dex和Class文件格式的区别31
    3.1.2 Dex文件格式的概貌35
    3.2 认识Dex文件36
    3.2.1 header_item36
    3.2.2 string_id_item等37
    3.. class_def38
    3.2.4 code_item40
    3.3 Dex指令码介绍41
    3.3.1 insns的组织形式41
    3.3.2 指令码描述规则42
    3.4 学习路线44
    3.5 参考资料45
    第4章 深入理解ELF文件格式46
    4.1 概述46
    4.2 ELF文件格式介绍46
    4.2.1 ELF文件头结构介绍47
    4.2.2 Linking View下的ELF52
    4.. Execution View下的ELF61
    4.2.4 实例分析:调用动态库中的函数65
    4.2.5 ELF总结72
    4.3 学习路线73
    4.4 参考资料73
    第5章 认识C++1174
    5.1 数据类型76
    5.1.1 基本内置数据类型介绍76
    5.1.2 指针、引用和void类型77
    5.1.3 字符和字符串81
    5.1.4 数组82
    5.2 C++源码构成及编译83
    5.2.1 头文件示例83
    5.2.2 源文件示例85
    5.. 编译86
    5.3 Class介绍88
    5.3.1 构造、赋值和析构函数89
    5.3.2 类的派生和继承97
    5.3.3 友元和类的前向声明103
    5.3.4 explicit构造函数105
    5.3.5 C++中的struct106
    5.4 操作符重载106
    5.4.1 操作符重载的实现方式107
    5.4.2 输出和输入操作符重载108
    5.4.3 ->和*操作符重载110
    5.4.4 new和delete操作符重载111
    5.4.5 函数调用运算符重载117
    5.5 函数模板与类模板118
    5.5.1 函数模板119
    5.5.2 类模板122
    5.6 lambda表达式125
    5.7 STL介绍127
    5.7.1 string类128
    5.7.2 容器类129
    5.7.3 算法和函数对象介绍134
    5.7.4 智能指针类138
    5.7.5 探讨STL的学习140
    5.8 常用知识141
    5.8.1 initializer_list141
    5.8.2 带作用域的enum141
    5.8.3 constexpr142
    5.8.4 static_assert143
    5.9 参考资料143
    第6章 编译dex字节码为机器码145
    6.1 编译器全貌介绍147
    6.2 编译器前端介绍150
    6.2.1 词法分析和lex151
    6.2.2 语法分析和yacc160
    6.. 语义分析和IR生成介绍171
    6.3 优化器介绍175
    6.3.1 构造CFG176
    6.3.2 分析和处理CFG181
    6.3.3 数据流分析与SSA191
    6.3.4 IR优化204
    6.4 ART中的IR—HInstruction222
    6.4.1 ART中的IR222
    6.4.2 IR之间的关系225
    6.4.3 ART IR对象的初始化1
    6.5 寄存器分配
    6.5.1 LSRA介绍5
    6.5.2 LSRA相关代码介绍247
    6.6 机器码生成相关代码介绍271
    6.6.1 GenerateFrameEntry272
    6.6.2 VisitAdd和VisitInstance-FieldGet273
    6.6.3 GenerateSlowPaths275
    6.7 总结277
    6.8 参考资料280
    第7章 虚拟机的创建283
    7.1 概述284
    7.1.1 JniInvocation Init函数介绍286
    7.1.2 AndroidRuntime startVm函数介绍287
    7.2 Runtime Create介绍288
    7.2.1 Create函数介绍288
    7.2.2 Init函数介绍290
    7.3 MemMap与OatFileManager293
    7.3.1 MemMap介绍293
    7.3.2 OatFileManager介绍298
    7.4 FaultManager介绍302
    7.4.1 信号处理和SignalAction介绍302
    7.4.2 FaultManager介绍307
    7.5 Thread介绍311
    7.5.1 Sru函数介绍311
    7.5.2 Attach函数介绍312
    7.6 Heap学习之一325
    7.6.1 初识Heap中的关键类326
    7.6.2 Heap构造函数部337
    7.7 JavaVMExt和JNIEnvExt340
    7.7.1 JavaVMExt341
    7.7.2 JNIEnvExt343
    7.7.3 总结344
    7.8 ClassLinker345
    7.8.1 关键类介绍345
    7.8.2 ClassLinker构造函数352
    7.8.3 InitFromBootImage353
    7.8.4 ClassLinker总结360
    7.9 总结和阅读指导362
    第8章 虚拟机的启动363
    8.1 Runtime Start364
    8.2 初识JNI365
    8.2.1 JNI中的数据类型365
    8.2.2 ScopedObjectAccess等辅类367
    8.. 常用JNI函数介绍369
    8.3 Jit LoadCompilerLibrary373
    8.4 Runtime InitNativeMethods374
    8.4.1 JniConstants Init374
    8.4.2 RegisterRuntimeNative Methods375
    8.4.3 WellKnownClasses Init和LastInit376
    8.5 Thread相关376
    8.5.1 Runtime InitThreadGroups377
    8.5.2 Thread FinishSetup377
    8.5.3 Runtime StartDaemonThreads380
    8.6 Runtime CreateSystemClassLoader381
    8.7 类的加载、链接和初始化383
    8.7.1 关键类介绍383
    8.7.2 SetupClass392
    8.7.3 LoadClass相关函数393
    8.7.4 LinkClass相关函数398
    8.7.5 DefineClass414
    8.7.6 Verify相关函数416
    8.7.7 Initialize相关函数424
    8.7.8 ClassLinker中常用函数426
    8.7.9 ClassLoader介绍437
    8.8 虚拟机创建和启动关键内容梳理445
    第9章 深入理解dex2oat447
    9.1 概述448
    9.2 ParseArgs介绍452
    9.2.1 CompirOtos类介绍453
    9.2.2 ProcessOptions函数介绍454
    9.. InsertComilOpios函数介绍455
    9.3 OpenFile介绍456
    9.4 Setup介绍458
    9.4.1 Setup代码分析之一458
    9.4.2 Setup代码分析之二464
    9.4.3 Setup代码分析之三474
    9.4.4 Setup代码分析之四484
    9.5 CompileImage484
    9.5.1 Compile485
    9.5.2 ArtCompileDEX496
    9.5.3 OptimizingCompiler JniCompile499
    9.5.4 OptimizingCompiler Compile527
    9.6 OAT和ART文件格式介绍544
    9.6.1 OAT文件格式544
    9.6.2 ART文件格式550
    9.6.3 oatdump介绍554
    9.7 总结561
    0章 解释执行和JIT562
    10.1 基础知识564
    10.1.1 LinkCode564
    10.1.2 Runtime ArtMethod566
    10.1.3 栈和参数传递572
    10.2 解释执行580
    10.2.1 art_quick_to_interpreter_bridge580
    10.2.2 artickToInterpreter-Bridge582
    10.. EnterInterpreterFromEntry-Point584
    10.2.4 调用栈的管理和遍历593
    10.3 ART中的JIT599
    10.3.1 Jit、JitCodeCache等600
    10.3.2 JIT阈值控制与处理609
    10.3.3 OSR的处理612
    10.4 HDeoptimize的处理615
    10.4.1 VisitDeoptimize相关616
    10.4.2 ickExceptionHandler相关618
    10.4.3 解释执行中关于Deoptimize的处理621
    10.5 Instrumentation介绍6
    10.5.1 MethodEnterEvent和MethodExitEvent624
    10.5.2 DexPcMovedEvent625
    10.6 异常投递和处理625
    10.6.1 抛异常626
    10.6.2 异常处理629
    10.7 总结635
    1章 ART中的JNI636
    11.1 JavaVM和JNIEnv637
    11.1.1 JavaVMExt相关介绍638
    11.1.2 JNIEnvExt介绍642
    11.2 Java native方法的调用644
    11.2.1 art_jni_dlsym_lookup_stub644
    11.2.2 art_quick_generic_jni_trampoline646
    11.3 CallStaticVoidMethod651
    11.4 JNI中引用型对象的管理653
    11.4.1 关键类介绍653
    11.4.2 JniMethodStart和JniMethod-End657
    11.4.3 IndirectReferenceTable相关函数658
    11.4.4 NewObject和jobject的含义660
    11.4.5 JNI中引用对象相关662
    11.4.6 PushLocalFrame和PopLocalFrame663
    11.4.7 回收引用对象664
    11.5 总结666
    2章 CheckPoints、线程同步及信号处理668
    12.1 CheckPoints介绍669
    12.1.1 设置Check Point标志位670
    12.1.2 Check Points的设置672
    12.1.3 执行检查点处的任务676
    12.2 ThreadList和Tedtate681
    12.2.1 线程683
    12.2.2 RunCheckpoint和Dump684
    12.. SuspendAll和ResumeAll687
    12.2.4 Thread状态切换690
    1. 线程同步相关知识691
    1..1 关键类介绍692
    1..2 synchronized的处理697
    1.. Object wait、notifyAll等705
    12.4 volatile成员的读写707
    12.4.1 基础知识707
    12.4.2 解释执行模式下的处理711
    12.4.3 机器码执行模式的处理712
    12.5 信号处理714
    12.5.1 zygote进程的处理714
    12.5.2 非zygote进程的处理716
    12.6 总结719
    3章 内存分配与释放720
    13.1 Space等关键类介绍722
    13.2 ZygoteSpace7
    13.3 BumpPointerSpace和RegionSpace725
    13.3.1 BumpPointerSpace726
    13.3.2 RegionSpace733
    13.4 DlMallocSpace和RosAlloc-Space740
    13.4.1 DlMallocSpace741
    13.4.2 RosAllocSpace745
    13.4.3 rosalloc介绍748
    13.5 LargeObjectMapSpace760
    13.6 new-instance/array指令的处理762
    13.6.1 设置内存分配器762
    13.6.2 解释执行模式下的处理767
    13.6.3 机器码执行模式下的处理770
    13.6.4 Heap AllocObjectWith-Allocator773
    13.7 细观Space779
    13.7.1 Space类779
    13.7.2 ContinuousSpace和Discon-tinuousSpace类781
    13.7.3 MemMapSpace和Continuous MemMapAllocSpace类782
    13.7.4 MallocSpace类783
    13.8 Heap学习之二784
    13.8.1 Heap构造函数784
    13.8.2 关键类介绍792
    13.8.3 ObjectVisitReferences806
    13.9 总结812
    4章 ART中的GC813
    14.1 GC基础知识814
    14.1.1 Mark-Sweep Collection原理介绍815
    14.1.2 Copying Collection原理介绍817
    14.1.3 Mark-Compact Collection原理介绍818
    14.1.4 概念819
    14.2 Runtime VisitRoots819
    14.2.1 关键数据结构821
    14.2.2 Thread VisitRoots824
    14.3 ART GC概览827
    14.3.1 关键数据结构827
    14.3.2 ART GC选项830
    14.3.3 创建回收器和设置回收策略832
    14.4 MarkSweep835
    14.4.1 Heap相关成员变量取值情况835
    14.4.2 MarkSweep概貌837
    14.4.3 MarkingPhase840
    14.4.4 PausePhase848
    14.4.5 ReclaimPhase851
    14.4.6 FinishPhase857
    14.4.7 PartialMarkSweep857
    14.4.8 StickyMarkSweep858
    14.4.9 Concurrent MarkSweep864
    14.4.10 Parallel GC868
    14.4.11 MarkSweep小结869
    14.5 ConcurrentCopying870
    14.5.1 InitalizePhase871
    14.5.2 FlipThreadRoots873
    14.5.3 MarkingPhase881
    14.5.4 ReclaimPhase883
    14.5.5ConcurrentCopying小结885
    14.6 MarkCompact885
    14.6.1 MarkingPhase886
    14.6.2 ReclaimPhase889
    14.6.3 MarkCompact小结891
    14.7 SemiSpace892
    14.7.1 InitializePhase893
    14.7.2 MarkingPhase894
    14.7.3 SemiSpace小结898
    14.8 Java Reference对象的处理899
    14.8.1 基础知识899
    14.8.2 MarkSweep中Reference对象的处理903
    14.8.3ReferenceProcessor904
    14.8.4 PhantomReference的处理912
    14.8.5 finalize函数的调用913
    14.8.6 Reference处理小结917
    14.9 Heap学习之三917
    14.9.1 Heap Trim917
    14.9.2 CollectGarbageInternal919
    14.9.3 PreZygoteFork924
    14.9.4 内存碎片的解决926
    14.10 总结927
    14.11 参考资料928

    售后保障

    最近浏览

    猜你喜欢

    该商品在当前城市正在进行 促销

    注:参加抢购将不再享受其他优惠活动

    x
    您已成功将商品加入收藏夹

    查看我的收藏夹

    确定

    非常抱歉,您前期未参加预订活动,
    无法支付尾款哦!

    关闭

    抱歉,您暂无任性付资格

    此时为正式期SUPER会员专享抢购期,普通会员暂不可抢购