深入理解JVM字节码
图书信息
| 作者 | 张亚 |
| 出版社 | 机械工业出版社 |
| ISBN | 9787111653721 |
| 出版时间 | 2020-05-01 |
| 字数 | 25.6万 |
| 分类 | 科技,计算机,网络,程序设计 |
读书简介
这是一本揭示JVM字节码“黑科技”的著作,它从原理和应用两个维度深剖析了JVM字节码。书中内容涉及JVM字节码的大部分应用场景,如Java性能优化、软件防护与破解、APM等,通过大量实战案例讲解了它在这些场景中的实操技巧。 本书共 12 章,从逻辑上分为两大部分。 【第①部分:原理篇(第1~8章)】 第1章详细剖析了class文件的内部结构; 第2章介绍了字节码的概念以及Java虚拟机栈和栈帧的相关内容; 第3章介绍了字节码的阶知识,包括泛型擦除、synchronized关键字、反射的底层实现原理; 第4章介绍了javac编译器的原理,以及javac编译的七大阶段和各阶段的作用; 第5章从字节码的角度介绍Kotlin的常见语法糖、coroutine等原理; 第6章介绍了ASM和Javassist这两个字节码操作工具; 第7章介绍了Java Instrumentation的原理; 第8章介绍了JSR 269插件化注解处理原理。
目录
前言
第1章 深入剖析class文件结构
1.1 初探class文件
1.2 class文件结构剖析
1.3 使用javap查看类文件
1.4 小结
第2章 字节码基础
2.1 字节码概述
2.2 Java虚拟机栈和栈帧
2.3 字节码指令
2.4 小结
第3章 字节码进阶
3.1 方法调用指令
3.2 Lambda表达式的原理
3.3 泛型与字节码
3.4 synchronized的实现原理
3.5 反射的实现原理
3.6 小结
第4章 javac编译原理简介
4.1 javac源码调试
4.2 javac的七个阶段
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.11 从字节码分析Kotlin编译器的bug
5.12 小结
第6章 ASM和Javassist字节码操作工具
6.1 ASM介绍
6.2 Javassist介绍
6.3 小结
第7章 Java Instrumentation原理
7.1 Java Instrumentation简介
7.2 Instrumentation与-javaagent启动参数
7.3 JVM Attach API介绍
7.4 小结
第8章 JSR 269插件化注解处理原理
8.1 JSR 269简介
8.2 抽象语法树操作API
8.3 JSR 269在常用框架上的应用
8.4 小结
第9章 字节码的应用
9.1 cglib动态代理原理分析
9.2 字节码在Fastjson上的应用
9.3 字节码在Dubbo上的应用
9.4 字节码在JaCoCo代码覆盖率上的应用
9.5 字节码在Mock上的应用
9.6 小结
第10章 软件破解和防破解
10.1 反编译
10.2 软件破解
10.3 软件防破解
10.4 小结
第11章 全链路分布式跟踪与APM
11.1 全链路分布式跟踪介绍
11.2 见微知著之APM
11.3 小结
第12章 Android字节码与APM
12.1 dex文件结构
12.2 Android字节码
12.3 Gradle插件编写
12.4 Android字节码注入原理
12.5 小结
- Castle Rackrent(Maria Edgeworth)
- 永无止尽的狂热:三岛由纪夫(杨照)
- 151 Provérbios de Shakespeare(Willian Castro)
- 热处理工程师理论基础(刘宗昌)
- 欧洲的转折(郭方)
- 全国名校二外英语考研真题详解(圣才电子书)
- 唐代文学的文化视野(全二册)精中华书局出品(杜晓勤著)
