这是一本揭示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插件化注解处理原理。
第二部分:应用篇(第9~12章)
第9章介绍了字节码在cglib、Fastjson等框架上的应用;第10章介绍了反编译、破解、防破解和逆向工程的相关内容;第11章介绍了APM的概况、分布式跟踪的基本原理等;第12章详细介绍了Android dex文件的组成结构,以及Android字节码指令与Java字节码指令的区别。