1. Java字节码概述
1.1 Java开发过程
- 编写阶段:采用各种编辑工具,编写.java文件
- 编译阶段:采用javac.exe对.java文件编译,产生.class文件
- 运行阶段:采用java.exe加载.class文件运行
1.2 Class文件
1.2.1 class文件:字节码(bytecode)文件
- class文件是Java“一次编译,到处运行”的基础
- class文件具备平台无关性,由JVM执行
- 每个class文件包含了一个类或接口或模块的定义
- class文件是一个二进制文件,由JVM定义class文件的规范
- 任何满足这种规范的class文件都会被JVM加载运行
- class文件可以由其他语言编译生成,甚至不用程序语言直接生成
- JDK版本不同,所编译出.class文件略有不同
1.2.2 class文件内容
1.2.3 class文件的学习
- 字节码文件结构
- 了解class文件的内部各个模块的组成
- 字节码生成
- javac,编译器API, 其他编译器API(如Eclipse JDT)
- 字节码操作
- 利用工具对字节码进行查看和编辑
- 字节码增强
- 使用Instrument对字节码进行转换
- 字节码反编译和混淆