我有一个程序,它在Java ME手机上比在Java SE上慢大约300倍。简单的基准测试表明,手动内联一个方法大致可以使手机的性能提高一倍,而手动删除一个常见的表达式则可以再次使性能提高一倍。显然,Java ME实现不做任何优化。
有没有编译器可以获取Java源代码并生成优化的Java字节码(具有方法内联、常量值传播、公共表达式消除和其他常规优化)?有没有其他工具可以在编译后以这种方式优化类文件?
发布于 2011-06-28 16:33:57
字节码混淆器通常提供这种特性。
这样做的原因是模糊处理程序通常用于像Java ME这样的受限环境中。这主要不是为了使代码更难反编译,而是为了减少编译的类文件的大小,并可能加速它们的执行。
试试ProGuard,它是一个支持some optimizations的免费软件。
https://stackoverflow.com/questions/6503691
复制相似问题