首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >javac优化标志

javac优化标志
EN

Stack Overflow用户
提问于 2011-02-15 05:32:48
回答 5查看 33.3K关注 0票数 36

我最近一直在用C写很多代码,现在我要改用Java了。我目前正在实现一个大型数据结构,我想知道当我调用Java编译器以提高性能时,是否有任何优化标志可以打开,就像在gcc中那样。

我已经习惯了:

代码语言:javascript
复制
gcc -O3 -NDEBUG MyProgram.c

对于javac,是否有类似的命令

我使用JDK,运行Ubuntu 10.04。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-02-15 05:39:05

Java中的优化主要是由JIT编译器在运行时完成的。因此,在编译时(当它只创建字节码时)尝试指示它以某种方式进行优化是没有意义的。JIT几乎肯定会在现场做出更好的决策,了解确切的环境并观察代码特定部分的实际执行模式。

有一些特定的编译器选项会影响性能,但这些选项用于调优JVM (包括垃圾收集器),而不是优化代码本身。

票数 29
EN

Stack Overflow用户

发布于 2011-02-15 05:40:07

没有与-O3或任何-O级别等效的功能,但是您可以通过-XX:访问特定的调优选项。有一个完整的列表可用here

但是,这假设您使用的是Oracle提供的JVM,并且它可能会根据您的环境而有所不同(“使用JDK”并不能真正描述您正在使用的版本)。

票数 19
EN

Stack Overflow用户

发布于 2011-11-21 17:39:06

您可以通过Proguard来优化字节码,这是一种流行的Java混淆器。它将按该顺序缩小、优化和混淆代码,并使用开关来控制几乎所有的东西。它将删除未使用的方法和变量,内联代码,删除死分支,合并相同的代码,并执行数十个其他优化。结果是一个jar文件,它的功能与您的输入相同,但占用的空间更少,运行速度更快。

它是商业客户端软件的必备组件。

票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4997513

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档