您知道Proguard吗?http://proguard.sourceforge.net/
这是一个很棒的字节码优化器,它实现了很多优化。请参阅常见问题解答以获取列表:http
:
//proguard.sourceforge.net/FAQ.html
- 计算常量表达式。
- 删除不必要的字段访问和方法调用。
- 删除不必要的分支。
- 删除不必要的比较和instanceof测试。
- 删除未使用的代码块。
- 合并相同的代码块。
- 减少变量分配。
- 删除只写字段和未使用的方法参数。
- 内联常量字段,方法参数和返回值。
- 简短或仅被调用一次的内联方法。
- 简化尾递归调用。
- 合并类和接口。
- 尽可能使方法私有,静态和最终。
- 在可能的情况下,使类成为静态和最终类。
- 替换具有单个实现的接口。
- 执行超过200个窥孔优化,例如将… * 2替换为… << 1。
- (可选)删除日志记录代码。
我相信您可以进一步研究源代码,以了解它们是如何实现的。



