当前位置: 首页 > 面试题库 >

Sun JRE 1.6u20上的-XX:+ AggressiveOpts启用了哪些标志?

景永望
2023-03-14
问题内容

从Sun JRE
性能调整白皮书中,-XX:+AggressiveOpts标记描述为:

打开预期在即将发布的版本中默认启用的点性能优化。按此标志分组的更改是对JVM运行时编译代码的较小更改,而不是不同的性能功能(例如BiasedLocking和ParallelOldGC)。这是尝试JVM工程团队针对即将发布的版本进行最新性能调整的好标志。注意:此选项是实验性的!此选项启用的特定优化可能因发行版本而异,甚至可能因构建而异。在部署新版本的Java之前,应重新评估此选项的效果。

我的性能测试表明,使用-XX:+AggressiveOpts实际上对我的应用程序有帮助,但是由于这被标记为实验性的,因此我要谨慎使用它(过去我被它所困扰)。因此,我想知道-XX:+AggressiveOpts1.6u20
启用了哪些标志。通常,我通过查看文件中的方法Arguments::set_aggressive_opts_flags()来执行此hotspot/src/share/vm/runtime/arguments.cpp操作,但是在http://download.java.net/jdk6/source/上找不到1.6u20的源。

  • 还有其他方法可以找出-XX:+AggressiveOpts 启用哪些标志吗?
  • 在哪里可以获得1.6u20版本的资源?

问题答案:

要检查其特定版本:

java -XX:-AggressiveOpts -XX:+UnlockDiagnosticVMOptions -XX:+PrintFlagsFinal -version > no_agg
java -XX:+AggressiveOpts -XX:+UnlockDiagnosticVMOptions -XX:+PrintFlagsFinal -version > agg

然后制作diff(diff -U0 no_agg agg)。

例如,jdk 1.7.0_51:

-     bool AggressiveOpts                           := false           {product}
+     bool AggressiveOpts                           := true            {product}

-     intx AutoBoxCacheMax                           = 128             {C2 product}
+     intx AutoBoxCacheMax                           = 20000           {C2 product}

-     intx BiasedLockingStartupDelay                 = 4000            {product}
+     intx BiasedLockingStartupDelay                 = 500             {product}

-     bool UseFPUForSpilling                         = false           {C2 product}
+     bool UseFPUForSpilling                         = true            {C2 product}

JDK 1.8.0:

-     bool AggressiveOpts                           := false           {product}
+     bool AggressiveOpts                           := true            {product}

-     intx AutoBoxCacheMax                           = 128             {C2 product}
+     intx AutoBoxCacheMax                           = 20000           {C2 product}

-     intx BiasedLockingStartupDelay                 = 4000            {product}
+     intx BiasedLockingStartupDelay                 = 500             {product}

-     bool EliminateAutoBox                          = false           {C2 product}
+     bool EliminateAutoBox                          = true            {C2 product}

-     bool UseFPUForSpilling                         = false           {C2 product}
+     bool UseFPUForSpilling                         = true            {C2 product}


 类似资料:
  • 本文向大家介绍HTML5标准提供了哪些新的API?你有用过哪些?相关面试题,主要包含被问及HTML5标准提供了哪些新的API?你有用过哪些?时的应答技巧和注意事项,需要的朋友参考一下 两个选择器API 地理定位API 多媒体API 拖放API 文件API XHR2 本地储存API canvas svg

  • 问题内容: 除了MVC,我需要了解iPhone开发中使用的设计模式。 请以任何示例说明或示例代码作为答复。 谢谢。 问题答案: 抽象工厂 抽象工厂模式提供了一个接口,用于创建相关或相关对象的族,而无需指定其具体类。客户与从工厂获得的具体对象的任何细节都没有关联。 适配器 适配器设计模式将类的接口转换为客户端期望的另一个接口。适配器使类可以协同工作,否则由于接口不兼容而无法实现。它将客户端与目标对象

  • 问题内容: 我在这里找到了JVM标志。关于它们的作用有更详细的解释吗? 问题答案: 设置此标志会将JVM进行的所有垃圾收集写入日志文件(或stdout,但它的用处不大),并且可以使用[此处](http://codingdict.com/questions/2045提到的工具进行分析。使用此信息,您可以微调垃圾回收配置。

  • 有人能解释一下,WSDL文档的哪些标签描述了Web服务的合约吗?示例: 我知道xmlns:soap=”http://schemas.xmlsoap.org/wsdl/soap/“关注SOAP绑定和xmlns:http=”http://schemas.xmlsoap.org/wsdl/http/“关注HTTP GET POST请求,但我不知道如何确定web服务的契约。提前感谢

  • 问题内容: 我想在我的JVM上尝试CompressedOops。不,我不知道默认情况下是否可以启用它。我在debian / squeeze上运行此jvm: 有人说它是默认启用的,有人说没有启用: 来自:http : //forums.yourkit.com/viewtopic.php?f=3&t=3185 是的,您是对的,我也选中了它,并且在Java6u21 64位中默认情况下未激活Compres

  • Android设备上默认安装了哪些字体? 我知道Droid字体和Roboto,但是像Arial、Times或Verdana这样的核心网络字体呢?有吗?Android设备上默认安装了哪些其他字体? (这个问题以前有人问过,但公认的答案已经过时了)