首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Maven构建期间优化Java编译器?

在Maven构建期间优化Java编译器?
EN

Stack Overflow用户
提问于 2010-11-19 03:28:46
回答 3查看 7.8K关注 0票数 10

我有一个Java项目的Maven概要文件,它在Hudson CI服务器上进行最终构建时被激活。

目前,这个概要文件的唯一定制是对Maven编译器插件的定制,如下所示:

代码语言:javascript
复制
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <configuration>
                        <debug>false</debug>
                        <optimize>true</optimize>
                    </configuration>
                </plugin>

为了最大化性能,最终构建还应该对Java编译器进行任何其他调整或优化吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-11-19 03:36:53

假设您在Sun (Hotspot) JVM上运行,所有优化都在JVM中进行。

因此,指定<optimize>true</optimize>不会做任何事情。

并且指定<debug>false</debug>只是删除了调试符号。这将略微减小您的JARfile大小,但使跟踪生产问题变得更加困难,因为您的堆栈跟踪中没有行号。

我要指定的一件事是JVM兼容性设置:

代码语言:javascript
复制
<source>1.6</source>
<target>1.6</target>
票数 18
EN

Stack Overflow用户

发布于 2010-11-19 03:32:35

你甚至不应该这样做- javac中的优化已经禁用了很长一段时间,IIRC。基本上,JIT负责几乎所有的优化,而javac优化在某些情况下实际上损害了这一点。

如果你想调优性能,你应该看看别的地方:

  • Your actual code
  • VM options (
  • Your actual code
  • VM options)(如GC调整)
票数 11
EN

Stack Overflow用户

发布于 2010-11-19 03:49:36

对于我们基于maven的构建,我不使用<debug>false</debug>,而是使用<debuglevel/>设置调试选项,它允许更精细的控制{参见javac option -g }。

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

https://stackoverflow.com/questions/4218721

复制
相关文章

相似问题

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