2011-06-28 55 views
3

我的程序在Java ME手機上比在Java SE上慢300倍左右。簡單的基準測試表明,手動內聯方法大致使手機性能翻倍,手動消除常見表達式大致使性能再次翻番。很明顯,Java ME實現沒有做任何優化。優化Java字節碼?

是否有任何編譯器需要Java源代碼並生成優化的Java字節碼(使用方法內聯,常量值傳播,通用表達式消除和其他常規優化)?有沒有其他工具在編譯後以這種方式優化類文件?

回答

4

字節碼混淆器通常提供這種功能。

原因是混淆器經常用於像Java ME這樣的有限環境中。這主要不是爲了使代碼難於反編譯,而是爲了減少編譯後的類文件的大小,並可能加快執行速度。

嘗試ProGuard,這是免費軟件,並支持some optimizations