主页 详情

《深入理解JVM字节码》_张亚著_14797567_9787111653721

【书名】:《深入理解JVM字节码》
【作者】:张亚著
【出版社】:北京:机械工业出版社
【时间】:2020
【页数】:302
【ISBN】:9787111653721
【SS码】:14797567

最新查询

内容简介

第1章 深入剖析class文件结构

1.1 初探class文件

1.2 class文件结构剖析

1.2.1 魔数

1.2.2 版本号

1.2.3 常量池

1.2.4 Access flags

1.2.5 this_class、super_name、interfaces

1.2.6 字段表

1.2.7 方法表

1.2.8 属性表

1.3 使用javap查看类文件

1.4 小结

第2章 字节码基础

2.1 字节码概述

2.2 Java虚拟机栈和栈帧

2.3 字节码指令

2.3.1 加载和存储指令

2.3.2 操作数栈指令

2.3.3 运算和类型转换指令

2.3.4 控制转移指令

2.3.5 for语句的字节码原理

2.3.6 switch-case底层实现原理

2.3.7 String的switch-case实现的字节码原理

2.3.8 +++i和i+++的字节码原理

2.3.9 try-catch-finally的字节码原理

2.3.10 try-with-resources的字节码原理

2.3.11 对象相关的字节码指令

2.4 小结

第3章 字节码进阶

3.1 方法调用指令

3.1.1 invokestatic指令

3.1.2 invokevirtual指令

3.1.3 invokespecial指令

3.1.4 invokeinterface指令

3.1.5 invokedynamic指令

3.2 Lambda表达式的原理

3.3 泛型与字节码

3.4 synchronized的实现原理

3.5 反射的实现原理

3.5.1 反射方法源码分析

3.5.2 反射的inflation机制

3.6 小结

第4章 javac编译原理简介

4.1 javac源码调试

4.2 javac的七个阶段

4.2.1 parse阶段

4.2.2 enter阶段

4.2.3 process阶段

4.2.4 attr阶段

4.2.5 flow阶段

4.2.6 desugar阶段

4.2.7 generate阶段

4.3 小结

第5章 从字节码角度看Kotlin语言

5.1 Metadata注解

5.2 顶层方法

5.3 object单例

5.4 扩展方法

5.5 接口默认方法

5.6 默认参数

5.7 高级for循环

5.8 data class

5.9 多返回值

5.10 协程的实现原理

5.10.1 CPS介绍

5.10.2 suspend关键字

5.11 从字节码分析Kotlin编译器的bug

5.12 小结

第6章 ASM和Javassist字节码操作工具

6.1 ASM介绍

6.1.1 ASM Core API核心类

6.1.2 ASM操作字节码示例

6.2 Javassist介绍

6.2.1 Javassist核心API

6.2.2 Javassist操作字节码示例

6.3 小结

第7章 Java Instrumentation原理

7.1 Java Instrumentation简介

7.2 Instrumentation与-javaagent启动参数

7.3 JVM Attach API介绍

7.3.1 JVM Attach API基本使用

7.3.2 JVM Attach API的底层原理

7.4 小结

第8章 JSR 269插件化注解处理原理

8.1 JSR 269简介

8.2 抽象语法树操作API

8.2.1 Names介绍

8.2.2 JCTree介绍

8.2.3 TreeMaker介绍

8.2.4 自定义注解处理实战

8.3 JSR 269在常用框架上的应用

8.3.1 案例一:ButterKnife

8.3.2 案例二:Lom

8.4 小结

第9章 字节码的应用

9.1 cglib动态代理原理分析

9.1.1 cglib核心API介绍

9.1.2 cglib原理分析

9.2 字节码在Fastjson上的应用

9.3 字节码在Dubbo上的应用

9.4 字节码在JaCoCo代码覆盖率上的应用

9.5 字节码在Mock上的应用

9.6 小结

第10章 软件破解和防破解

10.1 反编译

10.2 软件破解

10.2.1 破解方式一:直接修改class文件

10.2.2 破解方式二:javaagent无痛破解

10.3 软件防破解

10.3.1 自定义ClassLoader

10.3.2 JNI隐藏核心逻辑

10.3.3 基于JVMTI的加密方案

10.3.4 混淆

10.4 小结

第11章 全链路分布式跟踪与APM

11.1 全链路分布式跟踪介绍

11.1.1 什么是全链路分布式跟踪

11.1.2 OpenTracing基本术语

11.1.3 分布式跟踪的实现和上下文传递

11.2 见微知著之APM

11.2.1 APM基本概念

11.2.2 APM的字节码注入实现

11.2.3 其他平台的APM实现

11.3 小结

第12章 Android字节码与APM

12.1 dex文件结构

12.1.1 header

12.1.2 string_ids

12.1.3 type_ids

12.1.4 proto_ids

12.1.5 field_ids

12.1.6 method_ids

12.1.7 class_defs

12.1.8 data

12.1.9 link_data

12.2 Android字节码

12.2.1 Android字节码概述

12.2.2 常见的字节码指令介绍

12.3 Gradle插件编写

12.3.1 自定义Gradle插件

12.3.2 独立的Gradle插件项目

12.4 Android字节码注入原理

12.4.1 Transform API介绍

12.4.2 字节码注入代码实现

12.5 小结


书查询(www.shuchaxun.com)本网页唯一编码:
0d34da4d86e45d8ec0960934cff7a18d#ba3367426b443dcb10f929f5887f2e25#43289158#14797567_yz.pdf