我的程序在Java ME手机上比在Java SE上慢大约300倍。简单的基准测试表明,手动内联方法大致使手机的性能提高了一倍,并且手动消除常用表达式大致使性能再次翻倍。显然,Java ME实现不做任何优化。
是否有任何编译器采用Java源代码并生成优化的Java字节码(使用方法内联,常量值传播,常见表达式消除和其他常规优化)?有没有其他工具可以在编译后以这种方式优化类文件?
答案 0 :(得分:4)
Bytecode混淆器经常提供这种功能。
之所以这样,混淆器通常用于像Java ME这样的有限环境中。这主要不是为了使代码更难以解编译,而是为了减少已编译类文件的大小,并可能加快执行速度。
试试ProGuard,这是免费软件并支持some optimizations。