-
内容大纲
这是一本揭示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字节码指令的区别。 -
作者介绍
张亚,资深后端工程师和Java工程师,CVTE(视源股份,股票代码:002841)高级技术经理,带领20多人的研发团队做教育相关的产品。 主要技术方向是JVM调优及故障诊断、TCP源码剖析、高并发系统设计,致力于后端底层技术细节的研究。独立实现了公司级全链路APM产品,在字节码、ASM、软件破解等方向有丰富的实战经验。 vim狂热爱好者,热衷分享,是掘金平台的优秀作者,在掘金上撰写过两本关于JVM和TCP底层原理的小册子。 -
目录
前言
第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指令
……
第4章 javac编译原理简介
第5章 从字节码角度看Kotlin语言
第6章 ASM和Javassist字节码操作工具
第7章 Java Instrumentation原理
第8章 JSR 269插件化注解处理原理
第9章 字节码的应用
第10章 软件破解和防破解
第11章 全链路分布式跟踪与APM
第12章 Android字节码与APM
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-
孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-
时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-
本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...